{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "\n",
    "<p align=\"center\">\n",
    "    <img src=\"https://github.com/GeostatsGuy/GeostatsPy/blob/master/TCG_color_logo.png?raw=true\" width=\"220\" height=\"240\" />\n",
    "\n",
    "</p>\n",
    "\n",
    "## Subsurface Data Analytics \n",
    "\n",
    "## Interactive Spectral Clustering\n",
    "\n",
    "\n",
    "### Michael Pyrcz, Associate Professor, University of Texas at Austin \n",
    "\n",
    "#### [Twitter](https://twitter.com/geostatsguy) | [GitHub](https://github.com/GeostatsGuy) | [Website](http://michaelpyrcz.com) | [GoogleScholar](https://scholar.google.com/citations?user=QVZ20eQAAAAJ&hl=en&oi=ao) | [Book](https://www.amazon.com/Geostatistical-Reservoir-Modeling-Michael-Pyrcz/dp/0199731446) | [YouTube](https://www.youtube.com/channel/UCLqEr-xV-ceHdXXXrTId5ig)  | [LinkedIn](https://www.linkedin.com/in/michael-pyrcz-61a648a1)\n",
    "\n",
    "### Interactive Spectral Clustering in Python \n",
    "\n",
    "Here's a simple workflow, demonstration of spectral declustering (for automated category assignment) for subsurface modeling workflows. This should provide you experiential learning to help you understand the spectral approach.\n",
    "\n",
    "####  Spectral Clustering\n",
    "\n",
    "Spectral clustering is based on graph theory, where the sample data are mapped to a $n \\times n$ array that describes the degree of pairwise 'connectivity' between the sample data, and then Eigen vectors are calculated to reduce the dimensionality and k-means clustering is applied on the retained Eigen vectors to find the clusters.\n",
    "\n",
    "The advantages of the method includes:\n",
    "\n",
    "* the ability to encode connectivity between the samples in the dataset. While kernel and nearest neightbour approaches are common to determine connectivity, this step could include integration of various information sources.  \n",
    "\n",
    "* the Eigen values provide useful diagnostic information to inform the number of natural clusters based on the degree of cutting of connection required to separate the dataset\n",
    "\n",
    "* the Eigen vectors provide reduced dimensional representations of the high dimensional representation of pairwise connection\n",
    "\n",
    "**Other Resources** - I found the short article with demonstration on [Spectral Clustering](https://towardsdatascience.com/spectral-clustering-aba2640c0d5b) by William Fleshman quite useful to understand this approach. \n",
    "\n",
    "These are the steps for spectral clustering:\n",
    "\n",
    "* **Calculate the Simularity Graph and Matrix**\n",
    "\n",
    "* **Calculate the Degree Matrix**\n",
    "\n",
    "* **Calculate the Graph Laplacian Matrix**\n",
    "\n",
    "* **Perform Dimensionality Reduction on the Graph Laplacian Matrix**\n",
    "\n",
    "* **Assign Clusters in the Reduced Dimensionality**\n",
    "\n",
    "##### Calculate the Simularity Graph and Matrix\n",
    "\n",
    "Spectral clustering first calculates a graph of the data in predictor space\n",
    "\n",
    "* a graph is comprised of the samples (nodes) and connections (edges/vertices) between the samples\n",
    "\n",
    "There are mulitple methods to represent the sample data graph in predictor feature space:\n",
    "\n",
    "* **affinity matrix** the connections are represented as an $n \\times n$ matrix with 0 if no connection and a measure of similarity for connected samples. This is accomplished with radial basis function kernel with a specified gamma, or other kernels such as polynomial.\n",
    "\n",
    "* **adjacency matrix** the connections are represented as a $n \\times n$ matrix with 0 if no connection and 1 if connected.  This matrix may be calculated with k-nearest neighbor (up to a determined maximum number of neighbors), epsilon-neighborhood (all points withing a radius) or radial basis function kernel with a specified gamma, or other kernels such as polynomial. \n",
    "\n",
    "##### Calculate the Degree Matrix\n",
    "\n",
    "The degree matrix is a diagonal matrix where elements $[i,i]$ are the summation of the adjacency matrix row $i$.\n",
    "\n",
    "##### Calculate the Graph Laplacian Matrix \n",
    "\n",
    "The graph Laplacian is the adjacency matrix subtracted from the degree matrix.\n",
    "\n",
    "##### Perform Dimensionality Reduction on the Graph Laplacian Matrix\n",
    "\n",
    "Calculate the Eigen Values and Eigen Vectors of the Graph Laplacian matrix. The result is $n$ Eigen vectors (of length $n$) and $n$ Eigen values.  We can interprete the Eigen values / vectors as follows:\n",
    "\n",
    "* the number of zero Eigen values are the number of connected parts of the dataset.  For example, when the simularity graph indicates 0 similarity for all sample data to sample data combinations, all Eigen values are 0, all sample data are independent connected parts. If all data are connected, then all Eigen values except for the first are nonzero, indicating all sample data in one connected part.\n",
    "\n",
    "* the first nonzero Eigen value is the **spectral gap**. It provides an indication of the density of the sample to sample connections. For example, if the affinity is 1.0 for all sample data pairs, the spectral gap is equal to $n$.\n",
    "\n",
    "* the second Eigen value is the **Fiedler value** and the associated Eigen vector is the **Fiedler vector**. It indicates the level of graph cut to separate the sample dataset into 2 parts. For example, if the second Eigen value is 0 already, then the dataset is already separated into atleast 2 parts; therefore, no cuts are needed!\n",
    "\n",
    "##### Assign Clusters in the Reduced Dimensionality\n",
    "\n",
    "The final step is to assign the clusters based on the result from the dimensionality reduced graph Laplacian matrix.  There are a couple of methods possible demonstrated here:\n",
    "\n",
    "1. We can use the Eigen values to determine the number of clusters:\n",
    "\n",
    "* jumps in Eigen values are used to identify the natural number of clusters in the dataset. i.e. if we add another connected group we would have to do a lot more cuts!\n",
    "\n",
    "2. Assignment of clusters by Eigen vector values:\n",
    "\n",
    "* the sign of the Fiedler vector provides the 2 custers (positive and negative) if the dataset where cut into 2 groups.\n",
    "\n",
    "3. Assignment of clusters by k-means clustering applied to the Eigen vectors \n",
    "\n",
    "* we apply k-means clustering on the Eigen vectors up to the determined number of clusters. This finds the groups asessed while integrating pairwise connections of the sample data.\n",
    "\n",
    "#### Objective \n",
    "\n",
    "In the PGE 383: Subsurface Machine Learning class I want to provide hands-on experience with building subsurface modeling workflows. Python provides an excellent vehicle to accomplish this. I have coded a package called GeostatsPy with GSLIB: Geostatistical Library (Deutsch and Journel, 1998) functionality that provides basic building blocks for building subsurface modeling workflows. \n",
    "\n",
    "The objective is to remove the hurdles of subsurface modeling workflow construction by providing building blocks and sufficient examples. This is not a coding class per se, but we need the ability to 'script' workflows working with numerical methods.    \n",
    "\n",
    "#### Getting Started\n",
    "\n",
    "Here's the steps to get setup in Python with the GeostatsPy package:\n",
    "\n",
    "1. Install Anaconda 3 on your machine (https://www.anaconda.com/download/). \n",
    "2. From Anaconda Navigator (within Anaconda3 group), go to the environment tab, click on base (root) green arrow and open a terminal. \n",
    "3. In the terminal type: pip install geostatspy. \n",
    "4. Open Jupyter and in the top block get started by copy and pasting the code block below from this Jupyter Notebook to start using the geostatspy functionality. \n",
    "\n",
    "You will need to copy the data file to your working directory.  They are available here:\n",
    "\n",
    "* Tabular data - unconv_MV.csv at https://git.io/fjmBH.\n",
    "\n",
    "There are exampled below with these functions. You can go here to see a list of the available functions, https://git.io/fh4eX, other example workflows and source code. \n",
    "\n",
    "#### Install Packages\n",
    "\n",
    "We will include the standard packages for DataFrames and ndarrays and add scikit-learn (sklearn) for machine learning and ipywidgets for interactivity.\n",
    "\n",
    "* These should have been installed with Anaconda 3."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np                        # ndarrys for gridded data\n",
    "import pandas as pd                       # DataFrames for tabular data\n",
    "import os                                 # set working directory, run executables\n",
    "import matplotlib.pyplot as plt           # for plotting\n",
    "from matplotlib.colors import ListedColormap # custom color bar\n",
    "import matplotlib as mpl\n",
    "import copy                               # for deep copies\n",
    "import math                               # for square root function\n",
    "from sklearn.neighbors import NearestNeighbors # nearest neighbours function to calculate eps hyperparameter\n",
    "from sklearn.preprocessing import MinMaxScaler # min/max normalization\n",
    "from sklearn.cluster import KMeans        # k-means clustering\n",
    "from sklearn.cluster import DBSCAN        # DBSCAN clustering\n",
    "from sklearn.cluster import SpectralClustering # spectral clustering\n",
    "from ipywidgets import interactive        # widgets and interactivity\n",
    "from ipywidgets import widgets                            \n",
    "from ipywidgets import Layout\n",
    "from ipywidgets import Label\n",
    "from ipywidgets import VBox, HBox\n",
    "cmap = plt.cm.inferno                     # color map with tone and intensity change\n",
    "import warnings\n",
    "warnings.filterwarnings('ignore')         # supress warnings\n",
    "plt.rc('axes', axisbelow=True)            # grids behind plot elements"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### Declare Functions\n",
    "\n",
    "None needed for this workflow.\n",
    "\n",
    "#### Set the working directory\n",
    "\n",
    "I always like to do this so I don't lose files and to simplify subsequent read and writes (avoid including the full address each time). \n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "#os.chdir(\"d:/PGE383\")                     # set the working directory with the input data file"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### Specifying Data\n",
    "\n",
    "Let's specify a small dataset with arbitrary $X_1$ and $X_2$ features. \n",
    "\n",
    "* we can easily edit the data to explore the behavoir of spectral clustering\n",
    "\n",
    "* the can run the approach fast enough to itneractive with the system in realtime\n",
    "\n",
    "We will also calculate the:\n",
    "\n",
    "* **adjacency matrix** - we will asumme a radius to efficiently find the linkages\n",
    "\n",
    "* **degree matrix** - the sum of connections for each sample data as a diagnonal matrix\n",
    "\n",
    "* **graph Laplacian matrix** - the adjacency matrix subtracted from the degree matrix  "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAABTcAAAQWCAYAAADhM4yEAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAAEAAElEQVR4nOzde3yT9fn/8XfSNmlp2pS2tKVQoBYE5GxhCIigCAiITOZ0wylO2HTigaFzQ3/fCY4vVbcp+05h0yF4GOKc4mmewMlJQKGCykFEKIdqS6HQE5S2tPfvj9tESwvh0ORO0tfz8cgj5O6d3NcnScudK9fn+tgMwzAEAAAAAAAAACHGbnUAAAAAAAAAAHA2SG4CAAAAAAAACEkkNwEAAAAAAACEJJKbAAAAAAAAAEISyU0AAAAAAAAAIYnkJgAAAAAAAICQRHITAAAAAAAAQEgiuQkAAAAAAAAgJJHcBAAAAAAAABCSSG4CqOejjz7S1VdfrXbt2snpdCo1NVUDBgzQ3XffbXVoPt10003q0KFDkz3ewoULZbPZvJfo6GilpaXp0ksvVU5OjoqKis76sbdu3aoZM2Zo9+7dTRZvoM2YMUM2m+2093/zzTc1btw4paeny+FwKC4uTn369NEDDzygvXv3+jHSU9u9e7dsNpv+9Kc/WRYDAABoev/3f/8nm82m7t27n9H9POeA3z9PGzp0qIYOHdq0AYa4m266STabTXFxcaqoqGjw8z179shut8tms2nGjBln/PhHjx7VjBkztHz58jO635meowIIfSQ3AXj95z//0cCBA1VWVqZHHnlE7733nv7yl79o0KBBevHFF60OzzILFizQ2rVrtXTpUj3xxBPq3bu3Hn74YXXt2lXLli07q8fcunWrZs6cGdLJzdNVV1eniRMnauzYsaqpqVFOTo6WLl2ql156SePHj9dzzz2nQYMGWR0mAAAIM08//bQkacuWLfroo4/O6bHmzp2ruXPnNkVYYSUqKkrHjx9v9LPCggULFBcXd9aPffToUc2cOfOMk5uTJ0/W2rVrz/q4AEJPpNUBAAgejzzyiDIzM/Xuu+8qMvK7Pw8/+clP9Mgjj1gYmbW6d++uvn37em//6Ec/0q9//WtdfPHFGj9+vHbs2KHU1FQLIwxuDz/8sJ599lnl5OTod7/7Xb2fXXHFFZo+fbr+/ve/+3ycyspKxcTE+CtMAAAQRjZs2KBPP/1UY8aM0X/+8x/Nnz9f/fv3P+vHu+CCC5owuvDhcDg0duxYPf3005o0aZJ3u2EYWrhwoa677jo99dRTAYnl6NGjatGihdq2bau2bdsG5JgAggOVmwC8iouLlZycXC+x6WG31/9z8eKLL2rEiBFq3bq1YmJi1LVrV/3ud7/TkSNH6u130003yeVy6YsvvtDIkSMVGxur1q1b66GHHpIkrVu3ThdffLFiY2N1/vnn65lnnql3f8+0oKVLl+rnP/+5EhMTFRsbq7Fjx2rXrl0+x2QYhubOnavevXsrJiZGLVu21DXXXHNa9z2Vdu3a6c9//rPKy8vrJeY2bNign/zkJ+rQoYNiYmLUoUMH/fSnP9WePXvqjenHP/6xJOnSSy/1TntfuHChJGnp0qUaN26c2rZtq+joaHXs2FG33HKLDh486DOuY8eO6e6771bv3r3ldruVmJioAQMG6LXXXmuwr81m0+23367nnntOXbt2VYsWLdSrVy+9+eabDfb9z3/+o969e8vpdCozM/O0p3BXV1frkUceUffu3RskNj0iIyM1ZcqUets6dOigK6+8Uq+88or69Omj6OhozZw5U5L0xBNP6JJLLlFKSopiY2PVo0cPPfLII6qpqan3GEOHDlX37t21atUqXXTRRYqJiVGbNm30P//zP6qtrW00lkcffVSZmZlyuVwaMGCA1q1bd1rjBAAAwWX+/PmSpIceekgDBw7U4sWLdfTo0Qb7rVu3ToMGDVJ0dLTS09M1ffr0BucUUuPT0mfOnKn+/fsrMTFR8fHxuvDCCzV//nwZhtHg/osWLdKAAQPkcrnkcrnUu3dvb4wey5Yt07BhwxQfH68WLVpo0KBBev/99+vt45lyvWXLFv30pz+V2+1Wamqqbr75ZpWWltbbt66uTn/961+958EJCQm66KKL9Prrr0uSJk2apMTExEafl8suu0zdunVr5Jlt6Oabb9aaNWu0ffv2emPZs2ePfv7znzfY/8CBA7rtttt0wQUXyOVyKSUlRZdddplWrVrl3Wf37t1q1aqVJPN59pwv33TTTfWeh08++UTXXHONWrZsqaysrHo/81i9erWioqJ0zz331IvD8znjxNcBQOghuQnAa8CAAfroo49055136qOPPmr0xM5jx44dGj16tObPn6933nlHU6dO1b/+9S+NHTu2wb41NTUaP368xowZo9dee02jRo3S9OnTdd9992nixIm6+eabtWTJEnXu3Fk33XSTcnNzGzzGpEmTZLfbtWjRIs2ZM0cff/yxhg4dqpKSklOO6ZZbbtHUqVN1+eWX69VXX9XcuXO1ZcsWDRw4UPv37z/j5+j7Ro8erYiICK1cudK7bffu3ercubPmzJmjd999Vw8//LAKCgrUr18/b3JyzJgxmj17tiQzUbd27VqtXbtWY8aMkSTt3LlTAwYM0Lx58/Tee+/p97//vT766CNdfPHFp3xNJKmqqkqHDh3SPffco1dffVUvvPCCt8L02WefbbD/f/7zHz3++ON68MEH9fLLLysxMVFXX311veTv+++/r3HjxikuLk6LFy/WH//4R/3rX//SggULfD5HGzZsUElJSaPvC18++eQT/eY3v9Gdd96pd955Rz/60Y8kmc/PhAkT9Nxzz+nNN9/UpEmT9Mc//lG33HJLg8coLCzUT37yE11//fV67bXXdM0112jWrFm66667Guz7xBNPaOnSpZozZ47++c9/6siRIxo9enSDDwoAACC4VVZW6oUXXlC/fv3UvXt33XzzzSovL9dLL71Ub7+tW7dq2LBhKikp0cKFC/W3v/1NGzdu1KxZs07rOLt379Ytt9yif/3rX3rllVc0fvx43XHHHfrDH/5Qb7/f//73uv7665Wenq6FCxdqyZIlmjhxYr0vv59//nmNGDFC8fHxeuaZZ/Svf/1LiYmJGjlyZIMEp2TOJDr//PP18ssv63e/+50WLVqkX//61/X2uemmm3TXXXepX79+evHFF7V48WJdddVV3rZId911lw4fPqxFixY1eF4++OCDBl8+n8zll1+u9u3be9sASGZy+ZJLLlGnTp0a7H/o0CFJ0gMPPKD//Oc/WrBggc477zwNHTrUOwW9devWeueddySZnwM858v/8z//U++xxo8fr44dO+qll17S3/72t0bju/jiizVr1iz9+c9/9iZ2t2zZoilTpuhnP/tZvYpTACHKAIBvHTx40Lj44osNSYYkIyoqyhg4cKCRk5NjlJeXn/R+dXV1Rk1NjbFixQpDkvHpp596fzZx4kRDkvHyyy97t9XU1BitWrUyJBmffPKJd3txcbERERFhTJs2zbttwYIFhiTj6quvrnfMDz/80JBkzJo1q96x2rdv7729du1aQ5Lx5z//ud599+3bZ8TExBj33nvvKZ8Pz7HXr19/0n1SU1ONrl27nvTnx48fNyoqKozY2FjjL3/5i3f7Sy+9ZEgyPvjgg1PG4Hlu9+zZY0gyXnvttVPu39jxa2pqjEmTJhl9+vSp9zNJRmpqqlFWVubdVlhYaNjtdiMnJ8e7rX///kZ6erpRWVnp3VZWVmYkJiYavv4bWbx4sSHJ+Nvf/tbgZzU1NfUu39e+fXsjIiLC2L59+ykfv7a21qipqTGeffZZIyIiwjh06JD3Z0OGDGn0OfvFL35h2O12Y8+ePYZhGEZeXp4hyejRo4dx/Phx734ff/yxIcl44YUXThkDAAAILs8++2y984/y8nLD5XIZgwcPrrffddddZ8TExBiFhYXebcePHze6dOliSDLy8vK824cMGWIMGTLkpMf0nJM8+OCDRlJSklFXV2cYhmHs2rXLiIiIMK6//vqT3vfIkSNGYmKiMXbs2AaP2atXL+MHP/iBd9sDDzxgSDIeeeSRevvedtttRnR0tPe4K1euNCQZ999//0mP6xlX796962371a9+ZcTHx5/y/N8wzHPv2NhYb1xpaWlGTU2NUVxcbDidTmPhwoXGgQMHDEnGAw88cNLH8ZyvDhs2rN45/6nu63kefv/735/0Z99XV1dnjB492khISDA2b95sXHDBBUaXLl2MioqKU44RQGigchOAV1JSklatWqX169froYce0rhx4/Tll19q+vTp6tGjR71p0bt27dKECROUlpamiIgIRUVFaciQIZKkbdu21Xtcm82m0aNHe29HRkaqY8eOat26tfr06ePdnpiYqJSUlHrfYntcf/319W4PHDhQ7du31wcffHDS8bz55puy2Wz62c9+puPHj3svaWlp6tWr1xk3J2+MccK0o4qKCv32t79Vx44dFRkZqcjISLlcLh05cqTB83IyRUVFuvXWW5WRkaHIyEhFRUWpffv2kho+t4156aWXNGjQILlcLu/958+f3+h9L7300nqN3lNTU+u9BkeOHNH69es1fvx4RUdHe/eLi4s7q2pMj5KSEkVFRdW7bNiwod4+PXv21Pnnn9/gvhs3btRVV12lpKQk73vvxhtvVG1trb788st6+8bFxemqq66qt23ChAmqq6urV3ErmRW1ERER9Y4vqdH3IwAACF7z589XTEyMfvKTn0iSXC6XfvzjH2vVqlXasWOHd78PPvhAw4YNq9c7PSIiQtddd91pHee///2vLr/8crndbu85ye9//3sVFxerqKhIktluqLa29pRVkGvWrNGhQ4c0ceLEeuesdXV1uuKKK7R+/foGrZ9OPL/p2bOnjh075j3u22+/LUk+qy/vuusubdq0SR9++KEkqaysTM8995wmTpwol8t1Ws+DJP385z/X/v379fbbb+uf//ynHA6Htw1TY/72t7/pwgsvVHR0tPd89f333z/t82UPz8weX2w2m5599lnFxcWpb9++ysvL07/+9S/Fxsae0fEABCeSmwAa6Nu3r37729/qpZde0jfffKNf//rX2r17t3dRoYqKCg0ePFgfffSRZs2apeXLl2v9+vV65ZVXJJlTgb6vRYsW9RJjktl8PDExscGxHQ6Hjh071mB7Wlpao9uKi4tPOo79+/fLMAylpqY2SKStW7futHpYnsqRI0dUXFys9PR077YJEybo8ccf1+TJk/Xuu+/q448/1vr169WqVasGz0tj6urqNGLECL3yyiu699579f777+vjjz/29n709RivvPKKrr32WrVp00bPP/+81q5dq/Xr1+vmm29u9HlNSkpqsM3pdHqPc/jwYdXV1Z30+felXbt2khomCOPi4rR+/XqtX79eDzzwQKP3bd26dYNte/fu1eDBg/X111/rL3/5izcZ/8QTT0hq+Pw0ttCTJ+4T3zsnPhdOp7PRxwQAAMHrq6++0sqVKzVmzBgZhqGSkhKVlJTommuukaR6U6eLi4vP+hzn448/1ogRIyRJTz31lD788EOtX79e999/v6Tvzh8OHDggSadc4MbTKumaa65pcM768MMPyzAM71RuD1/nLQcOHFBERITPsYwbN04dOnTwnkstXLhQR44cOe0p6R7t27fXsGHD9PTTT+vpp5/WT37yE7Vo0aLRfR999FH96le/Uv/+/fXyyy9r3bp1Wr9+va644oozPu9q7HzxZJKSknTVVVfp2LFjuuKKK9SjR48zOhaA4MVq6QBOKSoqSg888IAee+wxbd68WZL5LfU333yj5cuXe6s1Jfnsf3kuCgsLG93WsWPHk94nOTlZNptNq1at8p7wfV9j287Ef/7zH9XW1nqby5eWlurNN9/UAw88UG/xHE8fzNOxefNmffrpp1q4cKEmTpzo3f7VV1+d1v2ff/55ZWZm6sUXX6zXSL2qquq07n+ili1bymaznfT59yU7O1stW7bUG2+84e0zKplVEZ4V6D3vqxN9P36PV199VUeOHNErr7zirWaVpE2bNjX6GI31VfXE3VhiFwAAhLann35ahmHo3//+t/797383+PkzzzyjWbNmKSIiQklJSWd9jrN48WJFRUXpzTffrPcl/quvvlpvP8+iOPn5+crIyGj0sZKTkyVJf/3rX3XRRRc1uk9jX9ieSqtWrVRbW6vCwsJTJgDtdrumTJmi++67T3/+8581d+5cDRs2TJ07dz6j40nmwkI/+9nPVFdXp3nz5p10v+eff15Dhw5tsE95efkZH7Ox88WTWbp0qebNm6cf/OAHWrJkiV5++eXTrvwEENyo3ATgVVBQ0Oh2z/QQT4Wi5yTixOTg91cNb2r//Oc/691es2aN9uzZ02DVyu+78sorZRiGvv76a/Xt27fB5Vy+rd27d6/uueceud1u70I2NptNhmE0eF7+8Y9/NFid+2RVgef63NpsNjkcjnoneoWFhY2uln46YmNj9YMf/ECvvPJKvcrP8vJyvfHGGz7v73A49Jvf/EabN2/Www8/fFYxfF9jz49hGHrqqaca3b+8vNzbON5j0aJFstvtuuSSS845HgAAEDxqa2v1zDPPKCsrSx988EGDy913362CggLvlO1LL71U77//fr0vQ2tra/Xiiy/6PJbNZlNkZGS9ljaVlZV67rnn6u03YsQIRUREnDLZN2jQICUkJGjr1q2NnrP27dtXDofjjJ6LUaNGSdIpj+sxefJkORwOXX/99dq+fbtuv/32MzqWx9VXX62rr75aN99880mTtJL53J14rvvZZ59p7dq19bY15SyagoIC/exnP9OQIUO0Zs0aXXXVVZo0aZLy8vLO+bEBWI/KTQBeI0eOVNu2bTV27Fh16dJFdXV12rRpk/785z/L5XJ5V5geOHCgWrZsqVtvvVUPPPCAoqKi9M9//lOffvqp32LbsGGDJk+erB//+Mfat2+f7r//frVp00a33XbbSe8zaNAg/fKXv9TPf/5zbdiwQZdccoliY2NVUFCg1atXq0ePHvrVr37l89ibN2/29j4qKirSqlWrtGDBAkVERGjJkiXeb+Tj4+N1ySWX6I9//KOSk5PVoUMHrVixQvPnz1dCQkK9x+zevbsk6cknn1RcXJyio6OVmZmpLl26KCsrS7/73e9kGIYSExP1xhtvaOnSpaf1PF155ZV65ZVXdNttt+maa67Rvn379Ic//EGtW7eu12PqTPzhD3/QFVdcoeHDh+vuu+9WbW2tHn74YcXGxp5WRepvf/tbffHFF/rd736nlStX6rrrrlOHDh1UVVWlXbt26R//+IciIiJOOnXp+4YPHy6Hw6Gf/vSnuvfee3Xs2DHNmzdPhw8fbnT/pKQk/epXv9LevXt1/vnn66233tJTTz2lX/3qV94p8wAAIDy8/fbb+uabb/Twww83+gV49+7d9fjjj2v+/Pm68sor9f/+3//T66+/rssuu0y///3v1aJFCz3xxBMN+ls2ZsyYMXr00Uc1YcIE/fKXv1RxcbH+9Kc/NUjadejQQffdd5/+8Ic/qLKyUj/96U/ldru1detWHTx4UDNnzpTL5dJf//pXTZw4UYcOHdI111yjlJQUHThwQJ9++qkOHDhwWknK7xs8eLBuuOEGzZo1S/v379eVV14pp9OpjRs3qkWLFrrjjju8+yYkJOjGG2/UvHnz1L59+7Puqx4dHd1oteyJrrzySv3hD3/QAw88oCFDhmj79u168MEHlZmZqePHj3v3i4uLU/v27fXaa69p2LBhSkxM9J5jn4na2lr99Kc/lc1m06JFixQREaGFCxeqd+/euu6667R69eozTh4DCDKWLWUEIOi8+OKLxoQJE4xOnToZLpfLiIqKMtq1a2fccMMNxtatW+vtu2bNGmPAgAFGixYtjFatWhmTJ082PvnkE0OSsWDBAu9+319F8fuGDBlidOvWrcH29u3bG2PGjPHe9qxY/t577xk33HCDkZCQYMTExBijR482duzYUe++J66W7vH0008b/fv3N2JjY42YmBgjKyvLuPHGG40NGzac8vnwHNtzcTgcRkpKijFkyBBj9uzZRlFRUYP75OfnGz/60Y+Mli1bGnFxccYVV1xhbN682Wjfvr0xceLEevvOmTPHyMzMNCIiIuo9b1u3bjWGDx9uxMXFGS1btjR+/OMfG3v37vW50qTHQw89ZHTo0MFwOp1G165djaeeeqrRVSMlGVOmTGlw/8Ziff31142ePXsaDofDaNeunfHQQw81+pin8vrrrxtjx441UlNTjcjISCMuLs7o3bu3cffddxtffPFFgxi+/z74vjfeeMPo1auXER0dbbRp08b4zW9+Y7z99tsNVp/3vMeWL19u9O3b13A6nUbr1q2N++67r97q7J7V0v/4xz82ONbpPucAAMB6P/zhDw2Hw9HoOZrHT37yEyMyMtK7QvqHH35oXHTRRYbT6TTS0tKM3/zmN8aTTz7Z6GrpQ4cOrfdYTz/9tNG5c2fD6XQa5513npGTk2PMnz+/wX0Nw1zBvV+/fkZ0dLThcrmMPn361DtnNgzDWLFihTFmzBgjMTHRiIqKMtq0aWOMGTPGeOmll7z7eM6/Dhw4UO++nvPW7x+3trbWeOyxx4zu3bsbDofDcLvdxoABA4w33nijwfOyfPlyQ5Lx0EMPnfS5O9HJzvO/r7EVz6uqqox77rnHaNOmjREdHW1ceOGFxquvvtroufyyZcuMPn36GE6n05DkPUc92fPw/Z953H///Ybdbjfef//9evutWbPGiIyMNO66667THjOA4GQzjBOW+gWAILJw4UL9/Oc/1/r16709GoHTMXToUB08ePCkPT0BAABOV58+fZSVlXValYmh6O6779a8efO0b98++pIDCDlMSwcAAAAAoBFffvmlVq1apc8//1w/+9nPrA6nya1bt05ffvml5s6dq1tuuYXEJoCQRHITAAAAAIBG5OTk6I033tCNN954yl7voWrAgAFq0aKFrrzySs2aNcvqcADgrDAtHQAAAAAAAEBIslsdgCTNmDFDNput3iUtLc37c8MwNGPGDKWnpysmJkZDhw7Vli1b6j1GVVWV7rjjDiUnJys2NlZXXXWV8vPzAz0UAAAAAAAAIOStXLlSY8eOVXp6umw2m1599VWf91mxYoWys7MVHR2t8847T3/729/8HmdQJDclqVu3biooKPBePv/8c+/PHnnkET366KN6/PHHtX79eqWlpWn48OEqLy/37jN16lQtWbJEixcv1urVq1VRUaErr7xStbW1VgwHAAAAAAAACFlHjhxRr1699Pjjj5/W/nl5eRo9erQGDx6sjRs36r777tOdd96pl19+2a9xBsW09BkzZujVV1/Vpk2bGvzMMAylp6dr6tSp+u1vfyvJrNJMTU3Vww8/rFtuuUWlpaVq1aqVnnvuOV133XWSpG+++UYZGRl66623NHLkyEAOBwAAAAAAAAgbNptNS5Ys0Q9/+MOT7vPb3/5Wr7/+urZt2+bdduutt+rTTz/V2rVr/RZb0CwotGPHDqWnp8vpdKp///6aPXu2zjvv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nJwc3Xfffbrrrrs0Z84cSeYbaebMmXryySd1+PBh9e/fX0888YS6devmvV9VVZXuuecevfDCC6qsrNSwYcM0d+5ctWV132bJMAxVVFSopqZGUVFRcrlcYfstBWCJrCypfXtp61Zp2zappET673/NBNOFF9LrEE2vrs58v33+uVk5bLOZrRF69qQ1AhDk6urq1LdvX82ePVuS1KdPH23ZskXz5s07aXIzJydHM2fObLC9tLTU78nNiooKSeHRm4zxBDfGc24yMzP9fgybzaY2bdpI8n+Cq7S01K+PL/GeO1ueL9isYHXPzblz5+qPf/yjCgoK1K1bN82ZM0eDBw8+6f7//Oc/9cgjj2jHjh1yu9264oor9Kc//UlJSUnnEvopBd0ngfXr1+vJJ59Uz549621/5JFH9Oijj2rhwoU6//zzNWvWLA0fPlzbt29XXFycJGnq1Kl64403tHjxYiUlJenuu+/WlVdeqdzcXEVERFgxHFikpKRE+3buVHVRkVRTI0VFyZGSooysLBrXA00pMtJMLJ1/vrRxo7Rrl9mTs6DAXIioVy+zZydwrg4eNBcMKikxbyclSQMGkEQHQkTr1q11wQUX1NvWtWtXvfzyyye9z/Tp0zVt2jTv7bKyMmVkZMjtdis+Pt5vsXqSF263O2w++EuMJ1gxnnOTl5fn92N4KjZ3796turo6vx7L7Xb79fEl3nNny8rnysrk5osvvqipU6dq7ty5GjRokP7+979r1KhR2rp1q9q1a9dg/9WrV+vGG2/UY489prFjx+rrr7/WrbfeqsmTJ2vJkiVNMobGBFVys6KiQtdff72eeuopzZo1y7vdMAzNmTNH999/v8aPHy9JeuaZZ5SamqpFixbplltuUWlpqebPn6/nnntOl19+uSTp+eefV0ZGhpYtW6aRI0daMiYEXklJiXbm5spdUaHzkpIU43SqsqpKBfn52llSoqzsbBKcQFOLjjYTTV27mou7FBSYfTh375a6dZO6dKGyDmenutpMnHv6ukZFSb17S507WxoWgDMzaNAgbd++vd62L7/8Uu3btz/pfZxOp5xOZ4PtgegZFm69yRhPcGM8Z8/fyUYPwzBUV1fn9+MF6j3Ae+7sjtEcPfroo5o0aZImT54sSZozZ47effddzZs3Tzk5OQ32X7dunTp06KA777xTklldfcstt+iRRx7xa5xB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m76R3ATCRatW3yU3ASAUxMdLl1xi9uHctEn65hvz79iePVLHjmbys0ULq6MEAAAALENy0zeSm0C4SE01r0tKpLo6c7ViAAgFiYnSZZdJRUXSxo3mlzQ7dki7dkmdOkndu5tT2gEAAADgBCQ3gXCRkGAu2lFdLR08KKWkWB0RAJyZlBRp5EizgnPTJrOi84svpJ07pc6dzQWJHA6rowQAAAAChspN3yjtAsKJZ7XhoiJr4wCAc5GeLo0ebU5Zj4+XamqkzZulV181r48ftzpCAAAAAEGCyk0gnKSkmBVPJDcBhIN27czLzp3SZ59JR46YFZ1ffGGuuN65My04AAAAENao3PQtKD4RzJs3Tz179lR8fLzi4+M1YMAAvf32296fG4ahGTNmKD09XTExMRo6dKi2bNlS7zGqqqp0xx13KDk5WbGxsbrqqquUn58f6KEA1vJMRT940No4AKApZWVJ48ZJ/fpJMTHSsWNSbq702mtm4tPPK5cCAAAAVvEkN5vqcqbmzp2rzMxMRUdHKzs7W6tWrTrl/lVVVbr//vvVvn17OZ1OZWVl6emnnz7b4Z+WoEhutm3bVg899JA2bNigDRs26LLLLtO4ceO8CcxHHnlEjz76qB5//HGtX79eaWlpGj58uMrLy72PMXXqVC1ZskSLFy/W6tWrVVFRoSuvvFK1tbVWDQsIvORkyWYz+26WlFgdDQA0HbvdrNS8+mqpTx+z9+aRI9LatdKbb5orrAMAAABoMi+++KKmTp2q+++/Xxs3btTgwYM1atQo7d2796T3ufbaa/X+++9r/vz52r59u1544QV16dLFr3EGxbT0sWPH1rv9v//7v5o3b57WrVunCy64QHPmzNH999+v8ePHS5KeeeYZpaamatGiRbrllltUWlqq+fPn67nnntPll18uSXr++eeVkZGhZcuWaeTIkQEfE2AJu91cdbi4WNq/31xkCADCid3+3ZT0rVulbduksjJp1SppyxapZ0+pbVurowQAAACahJXT0h999FFNmjRJkydPliTNmTNH7777rubNm6ecnJwG+7/zzjtasWKFdu3apcTERElShw4dzjluX4KicvP7amtrtXjxYh05ckQDBgxQXl6eCgsLNWLECO8+TqdTQ4YM0Zo1ayRJubm5qqmpqbdPenq6unfv7t2nMVVVVSorK6t3AUJeq1bm9YED1sYBAP4UGWkmMq++2lxFPSLCXF19+XLp3XelwkKrIwQAAACC0om5sKqqqgb7VFdXKzc3t16uTZJGjBhx0lzb66+/rr59++qRRx5RmzZtdP755+uee+5RZWWlX8bhETTJzc8//1wul0tOp1O33nqrlixZogsuuECF3344SU1Nrbd/amqq92eFhYVyOBxq2bLlSfdpTE5Ojtxut/eSkZHRxKMCLODpu1lcbG0cABAIDod04YVmkrNTJ7M1x4ED0rJl0vvv04MYAAAAIc0fPTczMjLq5cMaq8I8ePCgamtrT5mPO9GuXbu0evVqbd68WUuWLNGcOXP073//W1OmTGn6J+Z7gmJauiR17txZmzZtUklJiV5++WVNnDhRK1as8P78xNJZwzB8ltP62mf69OmaNm2a93ZZWRkJToQ+T3KzvNxcdCM62tp4ACAQoqOl/v3NKeuffirt3i0VFJiXtm2l3r1p1QEAAICQ449p6fv27VN8fLx3u9Pp9Hkfj1Pl2urq6mSz2fTPf/5Tbrdbkjm1/ZprrtETTzyhmJiYcx1Co4KmctPhcKhjx47q27evcnJy1KtXL/3lL39RWlqaJDXIChcVFXmzx2lpaaqurtbhw4dPuk9jnE6nd4V2zwUIedHRkue9vH+/tbEAQKC5XNKgQdLYsVK7dua2/Hxz0aHVq6WKCmvjAwAAACx2Yi6sseRmcnKyIiIiTpmPO1Hr1q3Vpk0bb2JTkrp27SrDMJSfn9+0g/ieoElunsgwDFVVVSkzM1NpaWlaunSp92fV1dVasWKFBg4cKEnKzs5WVFRUvX0KCgq0efNm7z5As5KUZF4XFVkbBwBYJT5euuQSafRoKT3d3LZ7t/Taa9JHH0lHj1oaHgAAAHA6/DEt/XQ4HA5lZ2fXy7VJ0tKlS0+aaxs0aJC++eYbVXyvoODLL7+U3W5XWz8u+hkU09Lvu+8+jRo1ShkZGSovL9fixYu1fPlyvfPOO7LZbJo6dapmz56tTp06qVOnTpo9e7ZatGihCRMmSJLcbrcmTZqku+++W0lJSUpMTNQ999yjHj16eFdPB5qVlBQpL49FhQAgMVG67DLzy56NG82/izt2SLt2mT06u3enfQcAAADQiGnTpumGG25Q3759NWDAAD355JPau3evbr31Vklmu8evv/5azz77rCRpwoQJ+sMf/qCf//znmjlzpg4ePKjf/OY3uvnmm/02JV0KkuTm/v37dcMNN6igoEBut1s9e/bUO++8o+HDh0uS7r33XlVWVuq2227T4cOH1b9/f7333nuKi4vzPsZjjz2myMhIXXvttaqsrNSwYcO0cOFCRUREWDUswDqeEvHDh6Xjx81VhQGgOUtJkUaOlL75Rtq0yVxZ/YsvpJ07pc6dzRXXHQ6rowQAAADq8UfPzdN13XXXqbi4WA8++KAKCgrUvXt3vfXWW2rfvr0kc9b03r17vfu7XC4tXbpUd9xxh/r27aukpCRde+21mjVrVpPEfzI2wzAMvx4hhJSVlcntdqu0tJT+mwh9//63uaDQ5ZdL3/auBQB8a+9eM8lZVmbedjjMBGeXLnwh9C3OixBsAvWeNAxDpaWlcrvdTfZh0kqMJ7gxnnMTiGPY7XZlZmYqLy9PdXV1fj1WINIzvOfOjhXnRZ5jTp48WY4m+hK+urpa//jHP8Lu/C5oe24COEfJyeY1fTcBoKF27aSrrpIGDJBiY6XqajPZ+eqr0rZtkp8/vAAAAABoGpQmAOGqVStzhWD6bgLAyWVlSZmZZh/OzZulykopN9ecst6zp/kzO98FAwAAwBpWTksPFSQ3gXDl6bt58KC1cQBAsLPbzb6bnTqZVZtbtkhHjkhr15r/7tVL+ravEAAAABBIJDd9oxQBCFeJiVJEhFRTYy6cAQA4Nbtd6tZNGj/erNqMijJ7cq5aJb31llkNDwAAACCokNwEwpXdbiY4JWn/fmtjAYBQEhlpJjevvtpcZCgiwvySaPly6d13pcJCqyMEQl5OTo5sNpumTp1qdSgAAAQ1T+VmU13CEclNIJy1amVe03cTAM6cwyFdeKGZ5OzUSbLZzL+ny5ZJ779P2w/gLK1fv15PPvmkevbsaXUoAAAgDJDcBMJZSop5XVxsbRwAEMqio6X+/aVx48wFhmw2qaBAeucds5qzpMTqCIGQUVFRoeuvv15PPfWUWrZsaXU4AACEBKo2T43kJhDOPMnNI0eko0etjQUAQp3LJQ0aJI0dK7VrZ27Lz5fefFNavVqqqLA2PiAETJkyRWPGjNHll19udSgAAIQEpqX7xmrpQDhzOKSEBLOqaP9+s+IIAHBu4uOlSy4x+3Bu2iR98420e7e0Z4/UsaPUo4fUooXVUQJBZ/Hixfrkk0+0fv3609q/qqpKVVVV3ttlZWWSJMMwZBiGX2L8/uP78xiBxHiCG+M5N3a7/+u17Ha7bDZbQI4ViOeN99zZHwfBi+QmEO6SkszkZlERyU0AaEqJidJll5l/XzduNPtx7tgh7dpl9ujs3t2c0g5A+/bt01133aX33ntP0af5e5GTk6OZM2c22F5aWur35GbFt5XY4VDhwniCG+M5N5kB+Hxjs9nUpk0bSf5PcJWWlvr18SXec2fL8wWbFZqy4jIcXvPGkNwEwl1KirRzJ4sKAYC/pKRII0eaFZybNpkVnV98Yf7t7dzZXHHd4bA6SsBSubm5KioqUnZ2tndbbW2tVq5cqccff1xVVVWKiIiod5/p06dr2rRp3ttlZWXKyMiQ2+1WfHy832L1JC/cbndYfAhkPMGN8ZybvLw8vx/DU7G5e/du1dXV+fVYbrfbr48v8Z47W+HwXIUzkptAuEtNNa9LS6Xjx6VIfu0BwC/S083L3r1mkrOsTNq8WfrySzPB2aULf4PRbA0bNkyff/55vW0///nP1aVLF/32t79tkNiUJKfTKafT2WB7IHqGhVtvMsYT3BjP2fN3stHDMAzV1dX5/XiBeg/wnju7Y1iFyk3fOMMGwp3LJcXESJWV5tTJ9HSrIwKA8NaunXnZuVP67DNzUbdNm8xqzm7dzGrOAPTtAoJJXFycunfvXm9bbGyskpKSGmwHAADfIbnpG2fWQHPQqpV5XVRkbRwA0JxkZUnjxkn9+plfMh07JuXmSq+9ZiY+T6j+MAxD5eXlOnTokMrLy2lcDwAAAJwGKjeB5qBVK3OaJH03ASCw7HazUrNTJ2nbNmnLFrOSc+1a89+9eknt26ukpET7du5UdVGRVFMjRUXJkZKijKwsJSQkWD0KwC+WL19udQgAAAQ9Kjd9I7kJNAeevpsHD5qVQkyHBIDAstu/m5K+dauZ6Cwrk1atUsVHH2lPXZ1iY2J0XlKSYpxOVVZVqSA/XztLSpSVnU2CEwAAoJkiuekbGQ6gOUhIkKKipNpacxVfAIA1IiOlnj2lq6+WLrhAht2uQ9u3K/Wjj9Rx3z7FHjkiu92u2JgYdWzbVu6KCuXv2sUUdQAAAOAkSG4CzYHdLiUmmv/ev9/aWAAAksMhXXihKoYP1xGXSwlxcdLhw9LHH5uX0lJJUuukJFXt36+KigqLAwYAAIAVvr8afFNcwhHJTaC58CwqRN9NAAgaNREROpqVJcewYVKbNpLNZrYQqayUJEU7HFJNjWpqaiyOFAAAAAhO9NwEmouUFPP64EFr4wAAeEVFRUlRUaqMiFBsr17mCuv5+VJamiTpWHW1FBVl7gcAAIBmh56bvlG5CTQXKSlmRdCxYxLTGwEgKLhcLjlSUlRQXOzZIHXp4v15QXGxnKmpcrlcFkUIAAAAKzEt3TeSm0BzERkptWxp/pu+mwAQFGw2mzKyslTqcumr/HwdqaxUbW2tjlRW6qv8fJW6XGp73nlheyIKAAAAnCumpQPNSatW5mrpRUXm1EcAgOUSEhKUlZ2tfTt36ouiIqmmRoqKkjMjQ1nnnaeEhASrQwQAAIBFmJbuG8lNoDlJTpa2b2dRIQAIMgkJCXJfeKEqKipUU1OjqKgouVyusD0BBQAAAJoKyU2gOUlNNa/LyqTqasnhsDYeAICXzWZTXFyc1WEAAAAgiFC56Rs9N4HmpEULKTbW/HdRkbWxAAAAAACAU2JBId9IbgLNTatW5jXJTQAAAAAAEOJIbgLNjSe5Sd9NAAAAAACCGpWbvp1TcrOyslJff/11g+1btmw5l4cF4E+evpuHDkl1ddbGAgAAghrn+wAAWIvkpm9nndz897//rfPPP1+jR49Wz5499dFHH3l/dsMNNzRJcAD8ICHBXEiotlY6eNDqaAAAQJDifB8AAISCs05uzpo1S5988ok+/fRTPf3007r55pu1aNEiSZJhGE0WIAA/SEoyr+m7CQAAToLzfQAArEflpm+RZ3vHmpoatfq2d1/fvn21cuVKjR8/Xl999VXYPllA2GjVSiooILkJAABOivN9AAAQCs66cjMlJUWfffaZ93ZSUpKWLl2qbdu21dsOIAilpJjXTEsHAAAnwfk+AADWo3LTt7NObj733HNK8SRIvuVwOPTCCy9oxYoV5xwYAD9KTpZsNqm6WiorszoaAAAQhDjfBwDAeiQ3fTvt5ObLL79c73bbtm2VlpbW6L6DBg06t6gA+FdkpJSYaP57/35rYwEAAEGB830AABCKTju5OWHCBD322GOn3IfG4kAI+baHFn03AQCAxPk+zl1TVxc1domMjFTfvn0VGRkZkOMhuBmG4ffL8ePHtWHDBh0/ftzvxwJOhr9pp3bayc3XX39dM2bM0J133tngl662tlYLFy5U165dmzxAAH7iSW7SdxMAAIjzfQAAEJpOO7k5cuRIrVy5UkuWLNH48eNVWVmp6upqzZs3Tx07dtS0adN03XXX+TNWAE0pNdW8Li+Xjh2zNhYAAGA5zvcBAAg+VKT7FnkmO/fq1Uvr1q3T6NGjddFFF+ngwYOqqanR1KlTdccddyguLs5fcQJoatHRUlycmdwsKpLatbM6IgAAYDHO9wEACC5NmZQkuSmptLRUTz/9tL7++msdPXpUNptN69atU48ePfwVHwB/Sk4muQkAALw43wcAAKHmtKelT58+Xe3bt9fChQs1e/ZsHThwQD/+8Y91+eWXa/369f6MEYC/pKSY1wcOWBsHAACwHOf7AAAEH6al+3bayc1XX31V//d//6cvv/xSv/zlLxUbG6uFCxfql7/8pS699FK99tpr/owTgD94+m4eOiQdP25tLAAAwFKc7wMAgFB02tPSt27d2miG9w9/+IPat2+v6667Tn/60590++23N2mAAPwoPl5yOKTqanPV9LQ0qyMCAAAW4XwfAIDgQ89N3067cvNUT8DkyZO1ZMkS3XfffU0SFIAASk42r4uKrI0DAABYivN9AACCD9PSfTvt5KYvo0aN0vLly5vq4QAECn03AQDAaeB8HwAABKMzWi3dlwsvvLApHw5AIHiSm8XF1sYBAACCHuf7AAAEFtPSfWvS5CaAEJScLEVEmH03S0qkhASrIwIAAAAAACK5eTqabFo6gBBlt0uJiea/9++3NhYAAAAAAIAzQHITgNSqlXlN300AAAAAAIIGCwr5RnITAIsKAQAAAACAkETPTQDfJTePHJGOHpVatLA2HgAAAAAAQM/N00DlJgDJ4ZDi481/U70JAAAAAEBQYFq6byQ3AZg8fTeLiqyNAwAAAAAA4DSR3ARgou8mAAAAAABBhcpN30huAjClpprXhw9Lx49bGwsAAAAAAMBpILkJwORySdHRkmEwNR0AAAAAgCBA5aZvJDcBfCc52bwmuQkAAAAAgOVIbvpGchPAdzyLCtF3EwAANKF58+apZ8+eio+PV3x8vAYMGKC3337b6rAAAEAYiLQ6AABBxNN389Ahqa5OsvP9BwAAOHdt27bVQw89pI4dO0qSnnnmGY0bN04bN25Ut27dLI4OAIDg1ZQVl+FauUlyE8B3EhOliAippkYqKTFvAwAAnKOxY8fWu/2///u/mjdvntatW0dyEwCAUyC56RvJTQDfsdvNvpv795sXkpsAAKCJ1dbW6qWXXtKRI0c0YMCAk+5XVVWlqqoq7+2ysjJJkmEYMgzDb/F5Ht+fxwikQI7HHoBZP3a7XTabLSDHkuT35433W/ALtzExnrM/DoIXyU0A9bVqZSY2DxyQuna1OhoAABAmPv/8cw0YMEDHjh2Ty+XSkiVLdMEFF5x0/5ycHM2cObPB9tLSUr8nNysqKiSFR4VLIMeTmZnp18eXzDG0adNGUmCSDaWlpX59fN5vwS/cxsR4zo7nCzYrULnpG8lNAPWlpJjXLCoEAACaUOfOnbVp0yaVlJTo5Zdf1sSJE7VixYqTJjinT5+uadOmeW+XlZUpIyNDbrdb8fHxfovTkzBzu91h8SEwkOPJy8vz6+NL31WH7t69W3V1dX4/ntvt9uvj834LfuE2JsZzdsLhuQpnJDcB1JeSItlsUmWlVFEhuVxWRwQAAMKAw+HwLijUt29frV+/Xn/5y1/097//vdH9nU6nnE5ng+1NWcFyMp5jhMuH2UCNJxDJRslMZtTV1QXkeIF4D/B+C37hNibGc3bHsAqVm76xFDKA+iIjJc831Pv3WxsLAAAIW4Zh1OupCQAAGvf9BO65XMIVlZsAGmrVylwt/eBBKSvL6mgAAECIu++++zRq1ChlZGSovLxcixcv1vLly/XOO+9YHRoAAAhxJDcBNJSSIu3YQd9NAADQJPbv368bbrhBBQUFcrvd6tmzp9555x0NHz7c6tAAAAhqTEv3jeQmgIZSU83rkhKpulpyOCwNBwAAhLb58+dbHQIAAAhT9NwE0FCLFlJsrPnvoiJrYwEAAAAAoJlqqn6b4dx3k+QmgMYlJZnXJDcBAAAAALAEyU3fSG4CaFyrVuY1fTcBAAAAAECQoucmgMZ5+m4eOiTV1Ul2vgsBAAAAACCQWFDIt6DIVuTk5Khfv36Ki4tTSkqKfvjDH2r79u319jEMQzNmzFB6erpiYmI0dOhQbdmypd4+VVVVuuOOO5ScnKzY2FhdddVVys/PD+RQgPCRmCgjMlKVFRU6tHOnysvLZRiG1VEBAAAAAIAAmTt3rjIzMxUdHa3s7GytWrXqtO734YcfKjIyUr179/ZvgAqS5OaKFSs0ZcoUrVu3TkuXLtXx48c1YsQIHTlyxLvPI488okcffVSPP/641q9fr7S0NA0fPlzl5eXefaZOnaolS5Zo8eLFWr16tSoqKnTllVeqtrbWimEBIa2kpER5hw+r8MsvVfDuu/py9Wpt/uQTlZSUWB0aAAAAAADNgpU9N1988UVNnTpV999/vzZu3KjBgwdr1KhR2rt37ynvV1paqhtvvFHDhg07l6GftqBIbr7zzju66aab1K1bN/Xq1UsLFizQ3r17lZubK8ms2pwzZ47uv/9+jR8/Xt27d9czzzyjo0ePatGiRZLMJ27+/Pn685//rMsvv1x9+vTR888/r88//1zLli2zcnhAyCkpKdHO3FxFVlerdXS0ukZGqktcnGLy87UzN5cEJwAAAAAAAWBlcvPRRx/VpEmTNHnyZHXt2lVz5sxRRkaG5s2bd8r73XLLLZowYYIGDBhwLkM/bUGR3DxRaWmpJCkxMVGSlJeXp8LCQo0YMcK7j9Pp1JAhQ7RmzRpJUm5urmpqaurtk56eru7du3v3AeCbYRjat3On3BUVateli6KPHJH9668V63SqY9u2cldUKH/XLqaoAwAAAAAQpqqrq5Wbm1svzyZJI0aMOGWebcGCBdq5c6ceeOABf4foFXQLChmGoWnTpuniiy9W9+7dJUmFhYWSpFTPAiffSk1N1Z49e7z7OBwOtWzZssE+nvufqKqqSlVVVd7bZWVlTTYOIFRVVFSouqhI5yUlSVFR0jffSMePS717Sx06qHVSkr7Yv18VFRWKi4uzOlwAAAAAAMKWPxYUOjH/5XQ65XQ66207ePCgamtrG83FnSzPtmPHDv3ud7/TqlWrFBkZuJRj0FVu3n777frss8/0wgsvNPjZiS+mYRg+X+BT7ZOTkyO32+29ZGRknH3gQJioqamRamoU43RKx45JTqcUGyt9m8iMdjikmhpzPwAAAAAA4Df+mJaekZFRLx+Wk5NzyuN/38nybLW1tZowYYJmzpyp888/v2mfBB+CqnLzjjvu0Ouvv66VK1eqbdu23u1paWmSzOrM1q1be7cXFRV5M8hpaWmqrq7W4cOH61VvFhUVaeDAgY0eb/r06Zo2bZr3dllZGQlONHtRUVFSVJQqq6oUW1wsdewoud1SUpIk6Vh1tRQVZe4HAAAAAABCyr59+xQfH++9fWLVpiQlJycrIiKiQZXm93Nx31deXq4NGzZo48aNuv322yVJdXV1MgxDkZGReu+993TZZZc18UhMQVG5aRiGbr/9dr3yyiv673//q8zMzHo/z8zMVFpampYuXerdVl1drRUrVngTl9nZ2YqKiqq3T0FBgTZv3nzS5KbT6VR8fHy9C9DcuVwuOVJSVFBcLBUXmxu/TWxKUkFxsZypqXK5XBZFCAAAAABA8+CPys0Tc2GNJTcdDoeys7Pr5dkkaenSpY3m2eLj4/X5559r06ZN3sutt96qzp07a9OmTerfv79/niAFSeXmlClTtGjRIr322muKi4vzZoXdbrdiYmJks9k0depUzZ49W506dVKnTp00e/ZstWjRQhMmTPDuO2nSJN19991KSkpSYmKi7rnnHvXo0UOXX365lcMDQorNZlNGVpZ2lpSoYM0atXQ4FJWQoGOVlSooLlapy6Ws885rsp4fAAAAAAAg+EybNk033HCD+vbtqwEDBujJJ5/U3r17deutt0oyZ0R//fXXevbZZ2W3271r53ikpKQoOjq6wfamFhTJTc8S8kOHDq23fcGCBbrpppskSffee68qKyt122236fDhw+rfv7/ee++9eguaPPbYY4qMjNS1116ryspKDRs2TAsXLlRERESghgKEhYSEBGVlZanM5dI3FRU6XFMjlZfLmZGhrPPOU0JCgtUhAgAAAAAQ9vyxoNDpuu6661RcXKwHH3xQBQUF6t69u9566y21b99ekjljeu/evU0S27mwGYZhWB1EsCgrK5Pb7VZpaSlT1IFt22Rs2KCjLpeqhgxRVFSUXC4XFZsA0ExwXoRgE6j3pGEYKi0tldvtDovznkCOJxDPl91uV2ZmpvLy8lRXV+f34/n74zLvt+AXbmNiPGfHivMizzEff/xxxcTENMljVlZW6vbbbw+787ugqNwEEIT275fNZlNsZqZiExOtjgYAAAAAAKABkpsAGldUZF6npVkbBwAAAAAAzZSV09JDRVCslg4gyBw6JFVXSxERUkqK1dEAAAAAAAA0ispNAA0VFJjXycmSne9AAAAAAACwApWbvpHcBNDQ/v3mdWqqtXEAAACEsXBbgCcQa9UGejEUfx8j3BZIAtD0SG76RkkWgIYOHjSv6bcJAAAAAACCGJWbAOo7ePC7fpvJyVZHAwAAAABAs0Xlpm8kNwHUV1hoXqek0G8TAAAAAAALkdz0jcwFgProtwkAAAAAAEIElZsAvlNX912/zZQUa2MBAAAAAKCZo3LTNyo3AXzn0CGppkaKiqLfJgAAAAAACHpUbgL4jqffZnIy/TYBAAAAAAgC4Vpx2VRIbgL4Dv02AQAAAAAIGkxL943SLACm7/fbTEuzNhYAAAAAAIDTQOUmANPBg/TbBAAAAAAgiFC56RuVmwBMnn6brVpZGwcAAAAAAMBponITgIl+mwAAAAAABBUqN30juQmgfr/N1q2tjQUAAAAAAEgiuXk6mJYOQCoqkmprJYdDSky0OhoAAAAAAIDTQuUmgO/6baakWBsHAAAAAADwonLTN5KbAOi3CQAAAABAECK56RvT0oHmrq5OOnTI/Df9NgEAAAAAQAihchNo7jz9NqOjpYQEq6MBAAAAAADfonLTNyo3gebO028zOdnaOAAAAAAAAM4QlZtAc0e/TQAAAAAAghKVm76R3ASas+PHpYMHzX/TbxMAAAAAgKBCctM3pqUDzVlRkWQY9NsEAAB+lZOTo379+ikuLk4pKSn64Q9/qO3bt1sdFgAACAMkN4HmzNNvMyXF2jgAAEBYW7FihaZMmaJ169Zp6dKlOn78uEaMGKEjR45YHRoAAEHNU7nZVJdwxLR0oDmj3yYAAAiAd955p97tBQsWKCUlRbm5ubrkkkssigoAAIQDkptAc3X8uHTokPlv+m0CAIAAKi0tlSQlJiaedJ+qqipVVVV5b5eVlUmSDMOQYRh+i83z+P48hofd7v+JdHa7XTabLSDHCsRzFsjXR/L/axTI10fy/2sU6NcnEMJtTIzn7I9jFXpu+kZyE2iuCgvNfpsxMVJ8vNXRAACAZsIwDE2bNk0XX3yxunfvftL9cnJyNHPmzAbbS0tL/Z7crKiokOT/D4GZmZl+fXzJHEObNm0k+f/DuSdp7U+BfH0k/79GgXx9JP+/RoF+fQIh3MbEeM6O5ws2K5Dc9I3kJtBcefptMiUdAAAE0O23367PPvtMq1evPuV+06dP17Rp07y3y8rKlJGRIbfbrXg/fjHrSTC53W6/fwjMy8vz6+NL31Ue7t69W3V1dX49ltvt9uvjS4F9fST/v0aBfH0k/79GgX59AiHcxsR4zk44PFfhjOQm0FwVFZnXJDcBAECA3HHHHXr99de1cuVKtW3b9pT7Op1OOZ3OBtsDsSBCoBZeCEQySzI//NfV1fn9eIH68B/IhTEC8RoF6vWRAvMahePCJeE2JsZzdsewCpWbvpHcBJqj6mrp8GHz3/TbBAAAfmYYhu644w4tWbJEy5cvD8h0bAAA0DyQ3ASaI0+/zdhYyeWyOhoAABDmpkyZokWLFum1115TXFycCr9tj+N2uxUTE2NxdAAABC8qN30juQk0R54p6a1aWRsHAABoFubNmydJGjp0aL3tCxYs0E033RT4gAAACBEkN30juQk0R/TbBAAAARSIVaABAEDzRHITaG6qq6VDh8x/028TAAAAAICgReWmbyQ3gebm2x5X9NsEAAAAACC4kdz0zW51AAACbP9+8zolxdo4AAAAAAAAzhGVm0Bz40lupqVZGwcAAAAAADglKjd9o3ITaE6OHZNKSsx/028TAAAAAACEOCo3gebEU7UZFye1aGFtLAAAAAAAwKdwrbhsKiQ3gebEs5gQ/TYBAAAAAAh6TEv3jWnpQHNCv00AAAAAABBGqNwEmotjx6SyMvPf9NsEAAAAACDoUbnpG5WbQHNRUGBex8dL0dHWxgIAAAAAANAEqNwEmgtPv83UVGvjAAAAAAAAp4XKTd9IbgLNRVGReU2/TQAAAAAAQgLJTd+Ylg40B0ePSuXl5r+p3AQAAAAAAGGCyk2gOfCskk6/TQAAAAAAQgaVm76R3ASaA/ptAgAAAAAQckhu+sa0dKA5oN8mAAAAAAAIQ1RuAuHu+/02W7e2NhYAAAAAAHDaqNz0jcpNINwVFJjXCQmSw2FpKAAAAAAAAE2Jyk0g3NFvEwAAAACAkETlpm8kN4Fw5+m3SXITAAAAAICQQnLTN5KbQDirqJCOHJFsNhYTAgAAYcHtdvv18e12uzIzM5WXl6e6ujq/HsswDL8+vucYpaWlcrvdfv9QG4gPzYF8fST/v0aBfH0AIFyR3ATCmaffZsuW9NsEAAAAACDEULnpGwsKAeFs/37zOiXF2jgAAAAAAAD8gMpNIJx5kptMSQcAAAAAIORQuekbyU0gXFVUSJWV9NsEAAAAACBEkdz0jWnpQLj6fr/NSL7HAAAAAAAA4YeMBxCu6LcJAAAAAEBIo3LTNyo3gXBFv00AAAAAABDmqNwEwlFZGf02AQAAAAAIcVRu+kZyEwhHnn6biYn02wQAAAAAIESR3PSNaelAOPJMSU9NtTYOAAAAAAAAP6KkCwhHRUXmNVPSAQAAAAAIWVRu+kZyEwg3JSXSsWNmv01WSgcAAAAAIGSR3PSNaelAuPH020xOpt8mAAAAAAAIa2Q+gHBDv00AAAAAAMJGuFZcNhUqN4FwQ79NAAAAAADQTARNcnPlypUaO3as0tPTZbPZ9Oqrr9b7uWEYmjFjhtLT0xUTE6OhQ4dqy5Yt9fapqqrSHXfcoeTkZMXGxuqqq65Sfn5+AEcBWOzQIam6WoqIoN8mAAAAAAAhztNzs6kuZ2ru3LnKzMxUdHS0srOztWrVqpPu+8orr2j48OFq1aqV4uPjNWDAAL377rvnMvzTEjTJzSNHjqhXr156/PHHG/35I488okcffVSPP/641q9fr7S0NA0fPlzl5eXefaZOnaolS5Zo8eLFWr16tSoqKnTllVeqtrY2UMMArPX9fpv2oPn1BgAAAAAAZ8HK5OaLL76oqVOn6v7779fGjRs1ePBgjRo1Snv37m10/5UrV2r48OF66623lJubq0svvVRjx47Vxo0bm+KpOKmg6bk5atQojRo1qtGfGYahOXPm6P7779f48eMlSc8884xSU1O1aNEi3XLLLSotLdX8+fP13HPP6fLLL5ckPf/888rIyNCyZcs0cuTIgI0FsAz9NgEAAAAAQBN49NFHNWnSJE2ePFmSNGfOHL377ruaN2+ecnJyGuw/Z86cerdnz56t1157TW+88Yb69OnjtzhDorQrLy9PhYWFGjFihHeb0+nUkCFDtGbNGklSbm6uampq6u2Tnp6u7t27e/c5UVVVlcrKyupdgJB28KB5Tb9NAAAAAABCnj8qN0/MhVVVVTU4bnV1tXJzc+vl2SRpxIgRJ82znaiurk7l5eVKTEw89yfiFEIiuVlYWChJSj2hGi01NdX7s8LCQjkcDrVs2fKk+5woJydHbrfbe8nIyPBD9ECAfL/fZnKy1dEAAAAAAIAglJGRUS8f1lgV5sGDB1VbW3vKXJwvf/7zn3XkyBFde+21TRL3yYREctPjxN4AhmH47Bdwqn2mT5+u0tJS72Xfvn1NFisQcPTbBAAAQczXAqIAAKAhf1Ru7tu3r14+bPr06ac8/vedTi5Okl544QXNmDFDL774olL8vOBxSGRA0r6dYntiZrioqMibQU5LS1N1dbUOHz580n1O5HQ6FR8fX+8ChCz6bQIAgCDmawFRAADQkD+SmyfmwpxOZ4PjJicnKyIi4pS5uJN58cUXNWnSJP3rX//yrovjTyGR3MzMzFRaWpqWLl3q3VZdXa0VK1Zo4MCBkqTs7GxFRUXV26egoECbN2/27gOErbo66cAB89/02wQAAEFo1KhRmjVrlneBUAAAELwcDoeys7Pr5dkkaenSpafMs73wwgu66aabtGjRIo0ZM8bfYUoKotXSKyoq9NVXX3lv5+XladOmTUpMTFS7du00depUzZ49W506dVKnTp00e/ZstWjRQhMmTJAkud1uTZo0SXfffbeSkpKUmJioe+65Rz169AhIlhiwimEYqtizRzp8WJHR0YpOSpLvAnEAAIDgVlVVVW+BA8/in9+vPPEHu90um80mewDa/BiGEZBjeC7+FojnLJCvj+T/1yiQr08ghNt4pPAbE+M5++NYpSn/3zvTx5k2bZpuuOEG9e3bVwMGDNCTTz6pvXv36tZbb5Vktnv8+uuv9eyzz0oyE5s33nij/vKXv+iiiy7yVn3GxMTI7XY3yRgaEzTJzQ0bNujSSy/13p42bZokaeLEiVq4cKHuvfdeVVZW6rbbbtPhw4fVv39/vffee4qLi/Pe57HHHlNkZKSuvfZaVVZWatiwYVq4cKEiIiICPh4gEEpKSrRv507ZP/5YLb78UjWtWqlq0yZlZGUpISHB6vAAAADOWk5OjmbOnNlge4cOHfya2LLZbGrTpo0k/3+YLS0t9evjS99+EV5RIenMP9SeqczMTL8+vhTY10fy/2sUyNcnEMJtPFL4jYnxnB3PF2xWsDK5ed1116m4uFgPPvigCgoK1L17d7311ltq3769JHPG9N69e737//3vf9fx48c1ZcoUTZkyxbvdk9vzF5sRLun6JlBWVia3263S0lL6byLolZSUaGdurtwVFWqTlydnaakqMzNV4Har1OVSVnY2CU4AwFnjvAj+ZLPZtGTJEv3whz886T6NVW5mZGQEpHKzQ4cO2r17t+rq6vx2HEk6fvy4Xx9fMj/4l5aWyu12+z2RERnp/9qZQL4+kv9fo0C+PoEQbuORwm9MjOfslJWVKSEhIaDnRZ5zsdWrV8vlcjXJY1ZUVOjiiy8Ou/O7oKncBHD6DMPQvp075a6oUMf0dGnLFsluV2ybNuqYkKCv8vOVv2uX3H36hMV/WAAAoPlxOp2NLnAQqOmHdXV1fk+eBeo87cSFJPwlEMlGKXCvjxSY1yhQr0+ghNt4pPAbE+M5u2NYxcrKzVAREgsKAaivoqJC1UVFap2UJJWUSLW1UkSE9O03L62TklS1f7+3PB8AAAAAACAcUbkJhKCamhqppkYxTqdUUyNlZEh2u3mRFO1wSDU15n4AAABBwNcCogAAoCEqN30juQmEoKioKCkqSpVVVYqNj5d69Kj382PV1VJUlLkfAABAEPC1gCgAAGiI5KZvJDeBEORyueRISVFBfr46tm3b4OcFxcVyZmQ0WdNhAACAczV06NCArG4NAACaF5KbQAiy2WzKyMrSzpISfZWfr9ZJSYp2OHSsuloFxcXmaunnnRe238oAAAAAANAcULnpG8lNIEQlJCQoKztb+3bu1BdFRWbvzagoOTMylHXeeUpISLA6RAAAAAAAAL8iuQmEsISEBLkvvFAVFRWqqalRVFSUXC5X2H4bAwAAAABAc0Llpm8kN4EQZ7PZFBcXZ3UYAAAAAACgiZHc9M1udQAAAAAAAAAAcDao3AQAAAAAAACCEJWbvpHcBAAAAAAAAIIQyU3fmJYOAAAAAAAAICRRuQkAAAAAAAAEISo3faNyEwAAAAAAAEBIonITAAAAAAAACEJUbvpGchMAAAAAAAAIUuGalGwqTEsHAAAAAAAAEJKo3AQAAAAAAACCENPSfaNyEwAAAAAAAEBIonITAAAAAAAACEJUbvpGchMAAAAAAAAIQiQ3fWNaOgAAAAAAAICQROUmAAAAAAAAEISo3PSNyk0AAAAAAAAAIYnKTQAAAAAho7S0VPHx8X57fMMwVFpaKrfb7fcKl0BU0NjtdmVmZiovL091dXV+PZZhGH59fM8xAvX6AEAwoHLTN5KbAAAAAAAAQBAiuekb09IBAAAAAAAAhCQqNwEAAAAAAIAgROWmbyQ3AQAAAAAAgCBEctM3pqUDAAAAAAAACElUbgIAAAAAAABBiMpN36jcBAAAAAAAABCSqNwEAAAAAAAAghCVm76R3AQAAAAAAACCEMlN35iWDgAAAAAAACAkUbkJAAAAAAAABCEqN32jchMAAAAAAABASKJyEwAAAAAAAAhCVG76RnITAAAAAAAACEIkN31jWjoAAAAAAACAkETlJgAAAAAAABCEqNz0jeQmAAAAAAAAEIRIbvrGtHQAAAAAAAAAIYnKTQAAAAAAACAIUbnpG5WbAAAAAAAAAEISyU0AAAAAATF37lxlZmYqOjpa2dnZWrVqldUhAQAQ9DzVm+d6CVckNwEAAAD43YsvvqipU6fq/vvv18aNGzV48GCNGjVKe/futTo0AACCVlMlNsM5wUlyEwAAAIDfPfroo5o0aZImT56srl27as6cOcrIyNC8efOsDg0AAIQwkpsAAAAA/Kq6ulq5ubkaMWJEve0jRozQmjVrLIoKAIDgR+Wmb6yWDgAAAMCvDh48qNraWqWmptbbnpqaqsLCwkbvU1VVpaqqKu/tsrIySZJhGDIMw2+xeh7fn8fwsNv9X2tit9tls9kCcqxAPGeBfH0CgfEEv3AbE+M5++MgeJHcBAAAABAQJ1aMGIZx0iqSnJwczZw5s8H20tJSvyc3KyoqJDWMt6llZmb69fElcwxt2rSR5P8P56WlpX59fCmwr08gMJ7gF25jYjxnx/MFmxWasuIyHF7zxpDcBAAAAOBXycnJioiIaFClWVRU1KCa02P69OmaNm2a93ZZWZkyMjLkdrsVHx/vt1g9CUC32+33D4F5eXl+fXzpu+rQ3bt3q66uzq/Hcrvdfn18KbCvTyAwnuAXbmNiPGfHyueK5KZvJDcBAAAA+JXD4VB2draWLl2qq6++2rt96dKlGjduXKP3cTqdcjqdDbYHomdYoHqT+TvZ6GEYhurq6vx+vEB9aA633nGMJ/iF25gYz9kdA8GL5CYAAAAAv5s2bZpuuOEG9e3bVwMGDNCTTz6pvXv36tZbb7U6NAAAghaVm76R3AQAAADgd9ddd52Ki4v14IMPqqCgQN27d9dbb72l9u3bWx0aAAAIYSQ3AQAAAATEbbfdpttuu83qMAAACBlUbvpGchMAAAAAAAAIQiQ3fbNbHQAAAAAAAAAAnA0qNwEAAAAAAIAgROWmbyQ3AQAAAAAAgCBEctM3pqUDAAAAAAAACElUbgIAAAAAAABBiMpN36jcBAAAAAAAABCSqNwEAAAAAAAAghCVm76R3AQAAAAAAACCEMlN35iWDgAAAAAAACAkUbkJAAAAAAAABCEqN32jchMAAAAAAABASKJyEwAAAAAAAAhCVG76RnITAAAAAAAACEIkN31jWjoAAAAAAACAkBSWyc25c+cqMzNT0dHRys7O1qpVq6wOCQAAAAAAADgjnsrNprqcqTPNsa1YsULZ2dmKjo7Weeedp7/97W9nO/TTFnbJzRdffFFTp07V/fffr40bN2rw4MEaNWqU9u7da3VoAAAAAAAAwGmzMrl5pjm2vLw8jR49WoMHD9bGjRt133336c4779TLL7/cFE/FSYVdcvPRRx/VpEmTNHnyZHXt2lVz5sxRRkaG5s2bZ3VoAAAAAAAAQEg40xzb3/72N7Vr105z5sxR165dNXnyZN18883605/+5Nc4wyq5WV1drdzcXI0YMaLe9hEjRmjNmjUWRQUAAAAAAACcOasqN88mx7Z27doG+48cOVIbNmxQTU3NmQ/+NIXVaukHDx5UbW2tUlNT621PTU1VYWFhg/2rqqpUVVXlvV1aWipJKisr82+gAAAAQc5zPmQYhsWRACbPe9Hf5+qGYaisrKxJV6e1kmEYqqurC8jvciA+R4Xj68N4glu4jYnxnB0rz4ua8m+r57FOfEyn0ymn01lv25nm2CSpsLCw0f2PHz+ugwcPqnXr1uc6hEaFVXLT48Q3tGEYjb7Jc3JyNHPmzAbbMzIy/BYbAABAKCkuLpbb7bY6DEDl5eWSOFc/U4ZhKC8vLyDH4m8FgHBXXl4esL91DodDaWlpTf7/nsvlavCYDzzwgGbMmNHo/qebYzvV/o1tb0phldxMTk5WREREgwxyUVFRg8yxJE2fPl3Tpk3z3i4pKVH79u21d+9e/mMOE2VlZcrIyNC+ffsUHx9vdTg4R7ye4YXXM/zwmoaX0tJStWvXTomJiVaHAkiS0tPTtW/fPsXFxfm9Oiec/pYxnuDGeIJfuI2J8ZwdwzBUXl6u9PR0vx3jRNHR0crLy1N1dXWTPm5jyckTqzalM8+xSVJaWlqj+0dGRiopKekcIz+5sEpuOhwOZWdna+nSpbr66qu925cuXapx48Y12L+xslvJ/MYxHH7J8Z34+Hhe0zDC6xleeD3DD69peLHbw6pFO0KY3W5X27ZtA3a8cPtbxniCG+MJfuE2JsZz5qwogouOjlZ0dHTAjyudeY5NkgYMGKA33nij3rb33ntPffv2VVRUlN9iDbuz1WnTpukf//iHnn76aW3btk3/n707j4+qvvc//j4JyYQlCbJkk0DihgguGKwERVBqvEGtC0W9top1uVI2MeVHRVsBa43tpV70KiDKoqLF2wJWK1LjlYBWUFahiJTWQFKaiFAhEDUhme/vj5i5jlmGJOfMzDm8nj7OQ+bkzHeZM8l85nO+3++59957VVpaqrFjx0a6aQAAAAAAAIArhMqxTZs2Tbfeemvg+LFjx2rv3r0qKCjQzp07tXDhQi1YsEBTpkxxtJ2eGrkpSTfeeKMOHjyohx56SOXl5RowYIBWrlypPn36RLppAAAAAAAAgCuEyrGVl5ertLQ0cHx2drZWrlype++9V0899ZQyMjL0xBNPaNSoUY6203PJTUkaN26cxo0b1+rn+Xw+TZ8+vcmp6nAnzqm3cD69hfPpPZxTb+F84kTltfc+/Ylu9Cf6ea1P9Aet1VKObfHixY32DRs2TJs3b3a4VcEsE4n72AMAAAAAAABAO3luzU0AAAAAAAAAJwaSmwAAAAAAAABcieQmAAAAAAAAAFciufkNc+bMUXZ2thISEpSTk6N33nkn0k1CE9auXaurr75aGRkZsixLr7zyStDPjTGaMWOGMjIy1LFjRw0fPlw7duwIOqa6uloTJ05Ujx491LlzZ33ve9/TP/7xjzD2Ag0KCwt1wQUXKDExUSkpKbr22mu1a9euoGM4p+4xd+5cnXPOOUpKSlJSUpJyc3P1xhtvBH7OuXS3wsJCWZalyZMnB/ZxTt1lxowZsiwraEtLSwv8nPOJE52Xvg+Eipnd5nhiRjcJFTO5XVMxg5uE+rx0o3379umHP/yhunfvrk6dOum8887Tpk2bIt2sNsvKymp0jizL0vjx4yPdNEQAyc2vvfzyy5o8ebIeeOABbdmyRUOHDlV+fn7QLe0RHaqqqnTuuefqySefbPLnv/71r/XYY4/pySef1IYNG5SWlqbLL79cR44cCRwzefJkrVixQkuXLtW7776ro0eP6qqrrlJdXV24uoGvrVmzRuPHj9f69etVVFSk2tpa5eXlqaqqKnAM59Q9evXqpUcffVQbN27Uxo0bddlll+maa64JJEc4l+61YcMGzZ8/X+ecc07Qfs6p+/Tv31/l5eWBbfv27YGfcT5xIvPa94FQMbPbHE/M6CahYiY3ay5mcJuWPi/d5vPPP9dFF12kuLg4vfHGG/roo4/0m9/8Rl27do1009psw4YNQeenqKhIkjR69OgItwwRYWCMMeY73/mOGTt2bNC+M88809x3330RahGOhySzYsWKwGO/32/S0tLMo48+Gtj31VdfmeTkZDNv3jxjjDGHDh0ycXFxZunSpYFj9u3bZ2JiYsyqVavC1nY0bf/+/UaSWbNmjTGGc+oFJ510knn22Wc5ly525MgRc/rpp5uioiIzbNgwc8899xhj+P10o+nTp5tzzz23yZ9xPnGi8/L3gW/HzF7w7ZjRCxpiJjdrLmZwm5Y+L93opz/9qbn44osj3QxH3XPPPebUU081fr8/0k1BBDByU1JNTY02bdqkvLy8oP15eXl67733ItQqtEVJSYkqKiqCzqXP59OwYcMC53LTpk06duxY0DEZGRkaMGAA5zsKHD58WJLUrVs3SZxTN6urq9PSpUtVVVWl3NxczqWLjR8/XldeeaW++93vBu3nnLrT7t27lZGRoezsbN1000365JNPJHE+cWLj+4D7fDtmdLNvx0xu1lzM4EbNfV660auvvqpBgwZp9OjRSklJ0cCBA/XMM89Eulm2qamp0ZIlS3T77bfLsqxINwcR0CHSDYgGBw4cUF1dnVJTU4P2p6amqqKiIkKtQls0nK+mzuXevXsDx8THx+ukk05qdAznO7KMMSooKNDFF1+sAQMGSOKcutH27duVm5urr776Sl26dNGKFSt01llnBb4cci7dZenSpdq8ebM2bNjQ6Gf8frrPhRdeqOeff15nnHGGPv30Uz388MMaMmSIduzYwfnECY3vA+7SVMzoRs3FTG7VUszgNi19Xnbv3j3SzWu1Tz75RHPnzlVBQYHuv/9+ffDBB5o0aZJ8Pp9uvfXWSDev3V555RUdOnRIt912W6SbggghufkN387wG2PI+rtUW84l5zvyJkyYoG3btundd99t9DPOqXv07dtXW7du1aFDh7Rs2TKNGTNGa9asCfycc+keZWVluueee/Tmm28qISGh2eM4p+6Rn58f+PfZZ5+t3NxcnXrqqXruuec0ePBgSZxPnNj4PuAOLcWMbtJczOTGBOfxxgxu0dLnZUFBQQRb1jZ+v1+DBg3SI488IkkaOHCgduzYoblz53oiublgwQLl5+crIyMj0k1BhDAtXVKPHj0UGxvb6Krs/v37G129RXRruINdS+cyLS1NNTU1+vzzz5s9BuE3ceJEvfrqq1q9erV69eoV2M85dZ/4+HiddtppGjRokAoLC3Xuuefq8ccf51y60KZNm7R//37l5OSoQ4cO6tChg9asWaMnnnhCHTp0CJwTzql7de7cWWeffbZ2797N7yhOaHwfcI/mYkY3ai5mcqNQMYPbbzr3zc9LN0pPT2+UNO/Xr59rb5j2TXv37tVbb72lO++8M9JNQQSR3FT9h0pOTk7g7loNioqKNGTIkAi1Cm2RnZ2ttLS0oHNZU1OjNWvWBM5lTk6O4uLigo4pLy/XX/7yF853BBhjNGHCBC1fvlxvv/22srOzg37OOXU/Y4yqq6s5ly40YsQIbd++XVu3bg1sgwYN0g9+8ANt3bpVp5xyCufU5aqrq7Vz506lp6fzO4oTGt8Hol+omNELGmImNwoVM8TGxka6ie3yzc9LN7rooou0a9euoH1//etf1adPnwi1yD6LFi1SSkqKrrzyykg3BZEU7jsYRaulS5eauLg4s2DBAvPRRx+ZyZMnm86dO5s9e/ZEumn4liNHjpgtW7aYLVu2GEnmscceM1u2bDF79+41xhjz6KOPmuTkZLN8+XKzfft28+///u8mPT3dVFZWBsoYO3as6dWrl3nrrbfM5s2bzWWXXWbOPfdcU1tbG6lunbB+/OMfm+TkZFNcXGzKy8sD2xdffBE4hnPqHtOmTTNr1641JSUlZtu2beb+++83MTEx5s033zTGcC694Nt3PuWcustPfvITU1xcbD755BOzfv16c9VVV5nExMRAvMP5xInMa98HQsXMbnM8MaObhIqZvMDNd0sP9XnpNh988IHp0KGD+eUvf2l2795tXnzxRdOpUyezZMmSSDetXerq6kzv3r3NT3/600g3BRFGcvMbnnrqKdOnTx8THx9vzj//fLNmzZpINwlNWL16tZHUaBszZowxxhi/32+mT59u0tLSjM/nM5dcconZvn17UBlffvmlmTBhgunWrZvp2LGjueqqq0xpaWkEeoOmzqUks2jRosAxnFP3uP322wN/R3v27GlGjBgRFKRzLt3v219UOKfucuONN5r09HQTFxdnMjIyzPXXX2927NgR+DnnEyc6L30fCBUzu83xxIxuEipm8gI3JzdDfV660WuvvWYGDBhgfD6fOfPMM838+fMj3aR2+9Of/mQkmV27dkW6KYgwyxhjwjZMFAAAAAAAAABswpqbAAAAAAAAAFyJ5CYAAAAAAAAAVyK5CQAAAAAAAMCVSG4CAAAAAAAAcCWSmwAAAAAAAABcieQmAAAAAAAAAFciuQkAAAAAAADAlUhuAgAAAAAAAHAlkpsAAAAAAAAAXInkJgBEkN/v15lnnqmf/vSnQfv/9Kc/KT4+Xr/73e8i1DIAAAC4EfElgBMNyU0AiKCYmBhNmzZNc+fO1eeffy5J+vDDDzV69Gg98sgjGj16dIRbCAAAADchvgRworGMMSbSjQCAE1ltba3OOOMMjRkzRnfccYcGDx6sa665Rk899VSkmwYAAAAXIr4EcCIhuQkAUeDpp5/W/fffr5NPPllZWVlasWKFYmNjI90sAAAAuBTxJYATBdPSASAK/OAHP9AXX3whY4x++9vfNgo8r7vuOp100kn6/ve/H6EWAgAAwE2ILwGcKEhuAkAUmDBhgiTpwIEDTV5RnzRpkp5//vlwNwsAAAAuRXwJ4ERBchMAIuznP/+5Xn/9da1fv161tbVasGBBo2MuvfRSJSYmRqB1AAAAcBviSwAnEpKbABBBzz77rH7zm9/otdde07nnnqvJkyfr17/+tY4dOxbppgEAAMCFiC8BnGhIbgJAhLzxxhsaP368lixZosGDB0uSJk6cqMrKSr3wwgsRbh0AAADchvgSwImI5CYARMCmTZs0evRo/frXv9b1118f2J+UlKSJEyfq0UcfVV1dXQRbCAAAADchvgRworKMMSbSjQAAhFZcXKwnn3xSv//97yPdFAAAAHgA8SUALyC5CQAucMUVV2jz5s2qqqpSt27dtGLFCl1wwQWRbhYAAABcivgSgFeQ3AQAAAAAAADgSqy5CQAAAAAAAMCVSG4CAAAAAAAAcCWSmwAAAAAAAABcieQmAAAAAAAAAFciuQkAAAAAAADAlUhuAgAAAAAAAHAlkpsAAAAAAAAAXInkJgAAAAAAAABXIrkJAAAAAAAAwJVIbgIAAAAAAABwJZKbAAAAAAAAAFyJ5CYAAAAAAAAAVyK5CQAAAAAAAMCVSG4CAAAAAAAAcCWSmwAAAAAAAABcieQmAAAAAAAAAFciuQkAAAAAAADAlUhuAgAAAAAAAHAlkpsAAAAAAAAAXInkJgAAAAAAAABXIrkJAAAAAAAAwJVIbgIAAAAAAABwJZKbAAAAAAAAAFyJ5CYAAAAAAAAAVyK5CQAAAAAAAMCVSG4CAAAAAAAAcCWSmwAAAAAAAABcieQmAAAAAAAAAFciuQkAAAAAAADAlUhuAgAAAAAAAHAlkpsAAAAAAAAAXInkJgAAAAAAAABXIrkJAAAAAAAAwJVIbgIAAAAAAABwJZKbAAAAAAAAAFyJ5CYAAAAAAAAAVyK5CQAAAAAAAMCVSG4CAAAAAAAAcCWSmwAAAAAAAABcieQmAAAAAAAAAFciuQkAAAAAAADAlUhuAgAAAAAAAHAlkpsAAAAAAAAAXInkJgAAAAAAAABXIrkJAAAAAAAAwJVIbgIAAAAAAABwJZKbAAAAAAAAAFyJ5CYAAAAAAAAAVyK5CQAAAAAAAMCVSG4CAAAAAAAAcCWSmwAAAAAAAABcieQmAAAAAAAAAFciuQkAAAAAAADAlUhuAgAAAAAAAHAlkpsAAAAAAAAAXInkJgAAAAAAAABXIrkJAAAAAAAAwJVIbgIAAAAAAABwJZKbAAAAAAAAAFyJ5CYAAAAAAAAAVyK5CQAAAAAAAMCVSG4CAAAAAAAAcCWSmwCOy+LFi2VZVmBLSEhQWlqaLr30UhUWFmr//v2RbmJYzJgxQ5ZlKSYmRp988kmjn1dVVSkpKUmWZem2225rUx2PPPKIXnnllVY9p+H87Nmzp011AgAAhMu2bdt0xx136NRTT1XHjh3VsWNHnX766br77ru1cePGiLYtKytLV111VZufb1mWJkyYYGOLjk9WVlabY8/jMXz4cA0fPtyx8lvS8P2juf499NBDgWPaEgu/9957mjFjhg4dOtSq5zn9mgM4fiQ3AbTKokWLtG7dOhUVFempp57Seeedp1/96lfq16+f3nrrrUg3L2y6dOmiRYsWNdr/u9/9TseOHVNcXFyby25LcvPKK6/UunXrlJ6e3uZ6AQAAnPb0008rJydH77//vu655x798Y9/1Ouvv67Jkydrx44duuCCC/T3v/890s3Et8yZM0dz5syJWP2JiYn63e9+pyNHjgTtN8Zo8eLFSkpKanPZ7733nmbOnNnq5OaKFSv085//vM31ArAPyU0ArTJgwAANHjxYQ4cO1ahRo/Rf//Vf2rZtmzp37qzrr79en376adjb9OWXX4a9zhtvvFHPPfec/H5/0P4FCxbouuuuU3x8fFja8eWXX8oYo549e2rw4MHy+XxhqRcAAKC1/vznP2vcuHHKz8/X5s2bNWnSJI0YMUKXXXaZxo8fr3fffVf/8z//o44dO7ZYzhdffBGmFqPBWWedpbPOOiti9V9zzTUyxmjp0qVB+99++22VlJToxhtvDFtbGr57DBw4UKeeemrY6gXQPJKbANqtd+/e+s1vfqMjR47o6aefDvrZxo0b9b3vfU/dunVTQkKCBg4cqP/5n/9pVMa7776r3NxcJSQk6OSTT9bPf/5zPfvss42mlzRMFVq+fLkGDhyohIQEzZw5U5JUUVGhu+++W7169VJ8fLyys7M1c+ZM1dbWBtVVU1Ojhx9+WGeeeaZ8Pp969uypH/3oR/rss8+Ou8+33367ysrKVFRUFNj317/+Ve+++65uv/32Rsd/9dVX+slPfqLzzjtPycnJ6tatm3Jzc/WHP/wh6DjLslRVVaXnnnsuML2mYQpQw9TzN998U7fffrt69uypTp06qbq6utG09N27dyspKUmjR48OKv/tt99WbGwsV5kBAEDYPfLII4qNjdXTTz/d7IXg0aNHKyMjI/D4tttuU5cuXbR9+3bl5eUpMTFRI0aMkCQVFRXpmmuuUa9evZSQkKDTTjtNd999tw4cOBBUZsOyQlu2bNH111+vpKQkJScn64c//GGz8d+qVat0/vnnq2PHjjrzzDO1cOFCm14F6eWXX1ZeXp7S09PVsWNH9evXT/fdd5+qqqqCjmvo+44dOzRixAh17txZPXv21IQJE0ImeI839pQkv9+v//7v/9Z5552njh07qmvXrho8eLBeffXVwDFNTUufOXOmLrzwQnXr1k1JSUk6//zztWDBAhljgo5riN/b85omJyfruuuua/SchQsX6qKLLtIZZ5zR6DnH8/6YMWOG/t//+3+SpOzs7ED8XVxcHNT2pr57fHta+tixY5WQkKBNmzYFvbYjRoxQamqqysvLj7u/AFqnQ6QbAMAbRo4cqdjYWK1duzawb/Xq1fq3f/s3XXjhhZo3b56Sk5O1dOlS3Xjjjfriiy8CwcC2bdt0+eWX64wzztBzzz2nTp06ad68eVqyZEmTdW3evFk7d+7Uz372M2VnZ6tz586qqKjQd77zHcXExOjBBx/UqaeeqnXr1unhhx/Wnj17AlPI/X6/rrnmGr3zzjuaOnWqhgwZor1792r69OkaPny4Nm7cGHK0gCSdfvrpGjp0qBYuXKgrrrhCUn1wlZWVFQi4v6m6ulr/+te/NGXKFJ188smqqanRW2+9peuvv16LFi3SrbfeKklat26dLrvsMl166aWBBOS3p9ncfvvtuvLKK/XCCy+oqqqqySnwp59+up555hnddNNNeuKJJzRp0iRVVFTo5ptv1tChQzVjxoyQfQQAALBLXV2dVq9erUGDBrV6GZ2amhp973vf091336377rsvcOH673//u3Jzc3XnnXcqOTlZe/bs0WOPPaaLL75Y27dvbxQjXXfddbrhhhs0duxY7dixQz//+c/10Ucf6f333w869sMPP9RPfvIT3XfffUpNTdWzzz6rO+64Q6eddpouueSSdr8Wu3fv1siRIzV58mR17txZH3/8sX71q1/pgw8+0Ntvvx107LFjxzRy5MhA39977z09/PDD2rt3r1577bVm6zje2FOqT6IuWbJEd9xxhx566CHFx8dr8+bNIdev3LNnj+6++2717t1bkrR+/XpNnDhR+/bt04MPPhh0rB2v6R133KERI0Zo586d6tevnw4dOqTly5drzpw5OnjwYKPjj+f9ceedd+pf//qX/vu//1vLly8PvDe/OUq1qe8eTZk9e7bef/993XDDDdq0aZO6du2qmTNnqri4WKtWrWL5KMBJBgCOw6JFi4wks2HDhmaPSU1NNf369Qs8PvPMM83AgQPNsWPHgo676qqrTHp6uqmrqzPGGDN69GjTuXNn89lnnwWOqaurM2eddZaRZEpKSgL7+/TpY2JjY82uXbuCyrz77rtNly5dzN69e4P2z5o1y0gyO3bsMMYY89vf/tZIMsuWLQs6bsOGDUaSmTNnTouvw/Tp040k89lnn5lFixYZn89nDh48aGpra016erqZMWOGMcaYzp07mzFjxjRbTm1trTl27Ji54447zMCBA4N+1txzG87Brbfe2uzPvvlaGWPMj3/8YxMfH2/WrVtnLrvsMpOSkmL++c9/tthHAAAAu1VUVBhJ5qabbmr0s4a4qGHz+/2Bn40ZM8ZIMgsXLmyxfL/fb44dO2b27t1rJJk//OEPgZ81xG/33ntv0HNefPFFI8ksWbIksK9Pnz4mISEhKKb88ssvTbdu3czdd98dsp+SzPjx40Me9+12r1mzxkgyH374YeBnDX1//PHHg57zy1/+0kgy7777blC72xJ7rl271kgyDzzwQIvtHDZsmBk2bFizP6+rqzPHjh0zDz30kOnevXvQObTrNfX7/SY7O9tMmTLFGGPMU089Zbp06WKOHDli/vM//7PJWLhBS++Plp7b3HePhp99+zXfvXu3SUpKMtdee6156623TExMjPnZz34Wso8A2odp6QBsY74xBeVvf/ubPv74Y/3gBz+QJNXW1ga2kSNHqry8XLt27ZIkrVmzRpdddpl69OgReH5MTIxuuOGGJus555xzGk09+eMf/6hLL71UGRkZQXXl5+cH6mg4rmvXrrr66quDjjvvvPOUlpYWmIJyPEaPHq34+Hi9+OKLWrlypSoqKlq8Y+Lvfvc7XXTRRerSpYs6dOiguLg4LViwQDt37jzuOiVp1KhRx33sf/3Xf6l///669NJLVVxcrCVLlnDVGAAARJWcnBzFxcUFtt/85jeNjmkq/tm/f7/Gjh2rzMzMQGzVp08fSWoyvmqISxvccMMN6tChg1avXh20/7zzzguMRpSkhIQEnXHGGdq7d2+b+vdtn3zyiW6++WalpaUpNjZWcXFxGjZs2HG3++abb5akRu3+tuOJPd944w1J0vjx41vdj7ffflvf/e53lZycHOjHgw8+qIMHD2r//v1Bx9rxmjbcMf2FF15QbW2tFixYoBtuuEFdunRp8vjWvj+a09R3j+acdtppeuaZZ/TKK6/oqquuYsYUECYkNwHYoqqqSgcPHgyskdRwY6EpU6YEBatxcXEaN26cJAXWuzl48KBSU1MbldnUPklNJuc+/fRTvfbaa43q6t+/f1Bdn376qQ4dOqT4+PhGx1ZUVDRao6klnTt31o033qiFCxdqwYIF+u53vxsImL5t+fLluuGGG3TyySdryZIlWrdunTZs2KDbb79dX3311XHX2Vz/m+Pz+XTzzTfrq6++0nnnnafLL7+8VXUBAADYoUePHurYsWOTyayXXnpJGzZsCFrj8Zs6derUaJkev9+vvLw8LV++XFOnTtX//u//6oMPPtD69eslNX3DybS0tKDHHTp0UPfu3RtNae7evXuj5/p8PltuYnn06FENHTpU77//vh5++GEVFxdrw4YNWr58eZPtbmhjU/1oaip2g+ONPT/77DPFxsY2em1C+eCDD5SXlydJeuaZZ/TnP/9ZGzZs0AMPPNBkP+x6TRvWyX/kkUe0efNm3XHHHU0e15b3R3NaOzDgyiuvVGpqqr766isVFBQoNja2Vc8H0HqsuQnAFq+//rrq6uoCC403jMKcNm2arr/++iaf07dvX0n1wU5Td1mvqKho8nmWZTXa16NHD51zzjn65S9/2eRzGpKuPXr0UPfu3bVq1aomj0tMTGxyf3Nuv/12Pfvss9q2bZtefPHFZo9bsmSJsrOz9fLLLwe1v7q6ulX1SU33vzl/+ctf9OCDD+qCCy7Qhg0b9Nhjj6mgoKDVdQIAALRHbGysLrvsMr355psqLy8PShg1rG/Y3BqPTcU+f/nLX/Thhx9q8eLFGjNmTGD/3/72t2bbUFFRoZNPPjnwuLa2VgcPHmwy8eaUt99+W//85z9VXFwcGK0pSYcOHWry+Kba2BAjt9Tu4409e/bsqbq6OlVUVLQqibd06VLFxcXpj3/8oxISEgL7X3nlleMuoy0yMzP13e9+VzNnzlTfvn01ZMiQJo9ry/ujOa2JvaX6GwsdOXJE/fv316RJkzR06FCddNJJra4XwPEjuQmg3UpLSzVlyhQlJyfr7rvvllSfuDz99NP14Ycf6pFHHmnx+cOGDdPKlSt14MCBQFLU7/frd7/73XG34aqrrtLKlSt16qmnthg8XHXVVVq6dKnq6up04YUXHnf5zcnNzdXtt9+uw4cP67rrrmv2OMuyFB8fHxQcVVRUNHnHSrtGBlRVVWn06NHKysrS6tWrdd999+m+++7TRRddZEvfAQAAWmPatGl64403NHbsWP3+979v8qaIx6shpvL5fEH7n3766Waf8+KLLyonJyfw+H/+539UW1vb6C7gTmpruydNmhR4/NJLL0lSi+0+3tgzPz9fhYWFmjt3rh566KFW9aNDhw5BoxK//PJLvfDCC8ddRlv95Cc/UceOHTV69OgW2ycd3+vccIwd8fezzz6rJUuWaOHChRo2bJjOP/98/ehHP3I86Quc6EhuAmiVv/zlL4F1Kvfv36933nlHixYtUmxsrFasWKGePXsGjn366aeVn5+vK664QrfddptOPvlk/etf/9LOnTu1efPmQPLygQce0GuvvaYRI0bogQceUMeOHTVv3jxVVVVJql9/M5SHHnpIRUVFGjJkiCZNmqS+ffvqq6++0p49e7Ry5UrNmzdPvXr10k033aQXX3xRI0eO1D333KPvfOc7iouL0z/+8Q+tXr1a11xzTYtJyqYsWLAg5DFXXXWVli9frnHjxun73/++ysrK9Itf/ELp6enavXt30LFnn322iouL9dprryk9PV2JiYmBUa6tMXbsWJWWluqDDz5Q586d9Zvf/Ebr1q3TTTfdpC1btqhr166tLhMAAKCtLrroIj311FOaOHGizj//fP3Hf/yH+vfvr5iYGJWXl2vZsmWS1GgKelPOPPNMnXrqqbrvvvtkjFG3bt302muvqaioqNnnLF++XB06dNDll18euFv6ueee2+w6723197//Xb///e8b7T/rrLM0ZMgQnXTSSRo7dqymT5+uuLg4vfjii/rwww+bLCs+Pl6/+c1vdPToUV1wwQWBu6Xn5+fr4osvbrYNxxt7Dh06VLfccosefvhhffrpp7rqqqvk8/m0ZcsWderUSRMnTmyy/CuvvFKPPfaYbr75Zv3Hf/yHDh48qFmzZjVKJjohLy8vMCW+Oa15f5x99tmSpMcff1xjxoxRXFyc+vbt2+oZXdu3b9ekSZM0ZswY/ehHP5JU/z3h+9//vmbPnq3Jkye3qjwArRDhGxoBcImGu3E3bPHx8SYlJcUMGzbMPPLII2b//v1NPu/DDz80N9xwg0lJSTFxcXEmLS3NXHbZZWbevHlBx73zzjvmwgsvND6fz6SlpZn/9//+n/nVr35lJJlDhw4FjuvTp4+58sorm6zrs88+M5MmTTLZ2dkmLi7OdOvWzeTk5JgHHnjAHD16NHDcsWPHzKxZs8y5555rEhISTJcuXcyZZ55p7r77brN79+4WX4dv3i29JU3d8fzRRx81WVlZxufzmX79+plnnnkmUN43bd261Vx00UWmU6dORlLgzpQt3bH+23dLf+aZZ4wks2jRoqDj/va3vwXu4AgAABAJW7duNT/60Y9Mdna28fl8JiEhwZx22mnm1ltvNf/7v/8bdOyYMWNM586dmyzno48+MpdffrlJTEw0J510khk9erQpLS01ksz06dMDxzXEW5s2bTJXX3216dKli0lMTDT//u//bj799NOgMpuLNUPdLbzBN+Plb28NbXrvvfdMbm6u6dSpk+nZs6e58847zebNmxvFbg1937Ztmxk+fLjp2LGj6datm/nxj38cFNs2tLutsWddXZ35r//6LzNgwAATHx9vkpOTTW5urnnttdda7P/ChQtN3759jc/nM6eccoopLCw0CxYsaHTncTte01B3oG/qjufH+/4wxphp06aZjIwMExMTYySZ1atXt9j2hp81vOZHjx41Z555pjnrrLNMVVVV0HHjx483cXFx5v333w/ZVwBtYxnzjdsbA0AUycvL0549e/TXv/410k0BAACAS82YMUMzZ87UZ599FlgCyQ1uu+02/f73v9fRo0cj3RQAiGpMSwcQFQoKCjRw4EBlZmbqX//6l1588UUVFRUd15RvAAAAAABwYiK5CSAq1NXV6cEHH1RFRYUsy9JZZ52lF154QT/84Q8j3TQAAAAAABClQt+lAwDC4PHHH1dJSYm+/PJLffHFF9q4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",
      "text/plain": [
       "<Figure size 640x480 with 7 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# specify the sample data\n",
    "X1 = [100,150,170,150,270,360,440,470]; X2 = [400,320,200,90,420,350,420,270] # made up small dataset, 2 paired features\n",
    "\n",
    "radius = 150                              # specify the feature distance for pairwise connections\n",
    "\n",
    "adjacency = np.zeros([len(X1),len(X1)])   # declare the 2D matrices\n",
    "degree = np.zeros([len(X1),len(X2)])\n",
    "\n",
    "# populate the adjacency matrix\n",
    "for j in range(0,len(X1)):\n",
    "    for i in range(0,len(X1)):\n",
    "        if i != j:\n",
    "            distance = math.sqrt((X1[i]-X1[j])*(X1[i]-X1[j]) + (X2[i]-X2[j])*(X2[i]-X2[j]))\n",
    "            if distance <= radius:\n",
    "                adjacency[i,j] = 1; adjacency[j,i] = 1 \n",
    "\n",
    "# plot the adjacency matrix\n",
    "plt.subplot(222)  \n",
    "plt.imshow(adjacency,cmap = plt.cm.binary); plt.grid(alpha = 0.2)\n",
    "plt.xlim([-0.5,len(X1)-1+0.5]); plt.ylim([-0.5,len(X2)-1+0.5]);\n",
    "plt.title('Adjacency Matrix'); plt.xlabel('$X_1$'); plt.ylabel('$X_2$');\n",
    "plt.colorbar()\n",
    "\n",
    "# populate the degree matrix\n",
    "for j in range(0,len(X1)):\n",
    "    summation = 0\n",
    "    for i in range(0,len(X1)):\n",
    "        summation = summation + adjacency[i,j]\n",
    "    degree[j,j] = summation\n",
    "    \n",
    "# plot the degree matrix\n",
    "plt.subplot(223)  \n",
    "plt.imshow(degree,cmap = cmap); plt.grid(alpha = 0.2)\n",
    "plt.xlim([-0.5,len(X1)-1+0.5]); plt.ylim([-0.5,len(X2)-1+0.5]);\n",
    "plt.title('Degree Matrix'); plt.xlabel('$X_1$'); plt.ylabel('$X_2$');\n",
    "plt.colorbar() \n",
    "    \n",
    "# calculate the Laplacian matrix\n",
    "Laplace = degree - adjacency\n",
    "\n",
    "# plot the Laplacian matrix\n",
    "plt.subplot(224)  \n",
    "plt.imshow(Laplace,cmap = cmap); plt.grid(alpha = 0.2)\n",
    "plt.xlim([-0.5,len(X1)-1+0.5]); plt.ylim([-0.5,len(X2)-1+0.5]);\n",
    "plt.title('Graph Laplacian Matrix'); plt.xlabel('$X_1$'); plt.ylabel('$X_2$');\n",
    "plt.colorbar()\n",
    "    \n",
    "# plot the sample data graph\n",
    "plt.subplot(221)\n",
    "plt.scatter(X1,X2,c = 'red',alpha = 0.2,edgecolors = 'black')\n",
    "for j in range(0,len(X1)):\n",
    "    for i in range(0,len(X1)):\n",
    "        if adjacency[i,j] == 1:\n",
    "            x1 = [X1[i],X1[j]]; x2 = [X2[i],X2[j]]\n",
    "            plt.plot(x1,x2,c = 'red',alpha = 0.2)\n",
    "plt.xlim([0,500]); plt.ylim([0,500]); \n",
    "plt.xlabel('$X_1$'); plt.ylabel('$X_2$'); plt.title('Sample Data and Graph')\n",
    "plt.subplots_adjust(left=0.0, bottom=0.0, right=2.0, top=2.0, wspace=0.2, hspace=0.3)        "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### Eigen Vectors and Values\n",
    "\n",
    "Let's calculate the Eigen vectors and values with the NumPy package\n",
    "\n",
    "```python\n",
    "vals, vecs = np.linalg.eig(Laplace)             \n",
    "vecs = vecs[:,np.argsort(vals)]\n",
    "vals = vals[np.argsort(vals)]\n",
    "```\n",
    "\n",
    "Note, NumPy's [argsort](https://numpy.org/devdocs/reference/generated/numpy.argsort.html) returns an int 1D ndarray iwth the indices that sort on value. This sorts the Eigen values and Eigen vectors in order of ascending Eigen value.\n",
    "\n",
    "* i.e. first Eigen vector and value has the lowest Eigen value\n",
    "\n",
    "* code taken from this [article and demonstration](https://towardsdatascience.com/spectral-clustering-aba2640c0d5b)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAABVMAAAQbCAYAAACFoTtQAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAAEAAElEQVR4nOzdd3gUVdvH8e+m94QEkhB6Db230It0sD+o+CAq+ohiQaxYsYLYe3sBCyIWQFEQQTrSa+ggAqEkhJoGqTvvH2MWAwFSNpmU34drrt2ZnT1zzyZLZu895z42wzAMREREREREREREROSyXKwOQERERERERERERKQ0UDJVREREREREREREJA+UTBURERERERERERHJAyVTRURERERERERERPJAyVQRERERERERERGRPFAyVURERERERERERCQPlEwVERERERERERERyQMlU0VERERERERERETyQMlUERERERERERERkTxQMlVEREREREREREQkD5RMFREREREREREREckDJVNFREREREREpFj079+fadOmWR2GiEiBKZkqIiIiIiIiIsVi/fr1tGzZ0uowREQKTMlUEREREREREcm3N998k1tuuYU777yToKAgGjVqxF9//eV4PDMzk2eeeYaIiAjq1q3L9OnTOXv2LJGRkRZGLSJSOEqmipQAX3zxBTab7ZLLkiVLHPvWrFmT22+/3bJYLycjI4OwsDA6dOhwyX3sdjvVq1enWbNmeW53yZIlF70OpdUzzzxD9erVcXNzIygo6Ir7r1ixgltuuYXq1avj6emJr68vjRs35pFHHmHXrl1FH/Bl2Gw27r///gI998CBA9hsNt544w0nR3VlNpuNcePGFVn7Jfk9KiJSXq1Zs4brrrvO8fc0LCyMqKgoHnnkEatDu6zsa8QDBw44tb3sxcvLi/DwcHr06MH48eOJj48vcNsrV65k3LhxnDlzximxXig6OpoRI0ZQp04dvL298fb2pl69etxzzz2sX7++SI6ZV+PGjcNms3HixAlL48iL7FgvZ9GiRdx55500aNAAX19fqlSpwjXXXMOGDRsu2nfr1q0sX76cu+++m1OnTtGqVSs+//xzx+NPPPEE69evZ9OmTSxdupQnn3yS5s2b4+Jy6VREXj8bOfv9URSuu+46vL29L/u+uPXWW3F3d+fYsWNOPXZRvydFyjM3qwMQkfOmTJlCgwYNLtreqFEjx/1Zs2YREBBQnGHlmbu7O8OGDePNN99kx44dOeLO9scff3Do0KES/+GlKPz888+88sorPP300/Tv3x9PT8/L7v/MM8/wyiuvEBUVxTPPPEO9evXIzMwkOjqaL7/8krfeeovMzExcXV2L6QwkL0rye1REpDyaM2cOV199Nd27d2fixIlUrlyZ2NhY1q9fz/Tp03nzzTetDrHYZV9zZmRkEB8fz4oVK3jttdd44403+O6777jqqqvy3ebKlSt54YUXuP322/P0hXF+fPrpp9x///1ERkby0EMP0bhxY2w2Gzt37uTbb7+lbdu2/PXXX9SpU8epxy2vPv74Y06ePMlDDz1Eo0aNOH78OG+++SYdOnTg999/p2fPno59t27dyrhx44iKigKgTp06nDt3DoCjR4/y+eef89dffxEaGgpAp06d8vz7caXPRgMHDmTVqlVUrly5MKdbpEaMGMFPP/3EtGnTuO+++y56PCEhgVmzZjFo0CDCwsKceuyifE+KlHdKpoqUIE2aNKFNmzaX3aek1xcaMWIEb775JpMnT8611+HkyZPx8PDgv//9rwXRWWvbtm0APPjgg44Lykv59ttveeWVVxg5ciQfffRRjh4EvXv3ZsyYMXz00UdXPObZs2fx8fEpXOCSLyX9PSoiUt5MnDiRWrVq8fvvv+Pmdv7jz80338zEiRMtjMw6F15z3nDDDTz88MN07tyZ66+/nr179zo9sVNQf/75J/fddx8DBw7kxx9/xMPDw/FYz549GTVqFD/88APe3t6XbUfXRHn34YcfXnSt2q9fP+rWrcurr77qSKZmZWWxY8cOBgwY4Nhv+/btjvWFCxfSrl27HG0dP36cHj165CmOK302qlSpEpUqVcrzeVmhf//+REREMHny5FyTqd9++y3nzp1jxIgRFkRXMHoviWiYv0ipk9sQ4u3bt9OnTx98fHyoVKkSo0aNYs6cObkOjf/jjz/o1asXAQEB+Pj40KlTJxYuXJhjn+zhP9u3b+eWW24hMDCQsLAw7rzzThISEi4bX8OGDYmKiuLrr78mMzMzx2Nnzpzh559/5pprriEkJIT169dz8803U7NmTby9valZsya33HILBw8evOLr0L17d7p3737R9ttvv52aNWvm2Jaens7LL79MgwYN8PT0pFKlStxxxx0cP348x36LFi2ie/fuhISE4O3tTfXq1bnhhhs4e/bsZWOx2+1MnDjR0X5oaCi33XYbhw8fduxTs2ZNnnnmGQDCwsKuONT85ZdfpmLFirz99tu5DsWy2WyMGjUqR6/U7t2706RJE5YtW0bHjh3x8fHhzjvvBOC7776jT58+VK5cGW9vbxo2bMiTTz5JSkrKRa+fn58f27dvp1evXvj6+lKpUiXuv//+S74OX3/9NQ0bNsTHx4fmzZvz66+/Xvb1yo8PP/yQrl27Ehoaiq+vL02bNmXixIlkZGTk2C/73JcvX06HDh3w9vamSpUqPPvss2RlZV32GMePH+e+++6jUaNG+Pn5ERoaSs+ePVm+fPlF+6alpfHiiy/SsGFDvLy8CAkJoUePHqxcudKxz4Xv0dTUVB555BFatGhBYGAgwcHBREVF8fPPP1/UfnbphKJ8TUVEypuTJ09SsWLFHInUbP8eavzXX39xxx13UK9ePXx8fKhSpQqDBw9m69atOZ6TfZ0UHR3Nf/7zH8f/7WPGjCEzM5Pdu3fTr18//P39qVmzZq4J2+w2Nm3axPXXX09AQACBgYH897//vej6JDd79+5l6NChhIaG4unpScOGDfnwww8L8OqcV716dd58802SkpL49NNP8/W6jBs3jsceewyAWrVqXTQcO6+vbW5effVVXF1d+fTTT3MkUv/tP//5DxERETnisdlsbNy4kRtvvJEKFSo4eq3m9+ecn5/RsWPH8n3tXJCY8nqNPmfOHFq0aIGnpye1atXKc3ml3L709/Pzo1GjRhw6dChH3P7+/jle++joaEc5rxMnThASEuJ4LD4+nuXLl9OqVas8xXEllxrm//PPP9OsWTM8PT2pXbs27777bq7lDfL6PirMZyNXV1eGDx/Ohg0bcv19nzJlCpUrV6Z///75jmvXrl3ccssthIWF4enpSfXq1bnttttIS0u74nsSzHJivXr1wt/fHx8fHzp27MicOXNyPffc3ksi5ZmSqSIlSFZWFpmZmTmWKyWCYmNj6datG7t37+bjjz/mq6++IikpKddallOnTqVPnz4EBATw5Zdf8v333xMcHEzfvn0vSqiC2Uuhfv36zJgxgyeffJJp06bx8MMPX/E8RowYQXx8/EV/jKdNm0Zqaqrjm9cDBw4QGRnJO++8w++//85rr71GbGwsbdu2dVrNKbvdzjXXXMOECRMYOnQoc+bMYcKECSxYsIDu3bs7hiEdOHCAgQMH4uHhweTJk5k3bx4TJkzA19eX9PT0yx7j3nvv5YknnqB3797Mnj2bl156iXnz5tGxY0fHecyaNctx3vPmzWPVqlXcddddubZ39OhRduzYQe/evfHy8srX+cbGxvLf//6XoUOHMnfuXMc34Hv37mXAgAFMmjSJefPmMXr0aL7//nsGDx58URsZGRkMGDCAXr168dNPP3H//ffz6aefctNNN12075w5c/jggw948cUXmTFjBsHBwVx33XX8/fff+Yr7Uvbt28fQoUP5+uuv+fXXXxkxYgSvv/4699xzz0X7xsXFcfPNN3Prrbfy888/c+ONN/Lyyy/z0EMPXfYYp06dAuD5559nzpw5TJkyhdq1a9O9e/ccF5yZmZn079+fl156iUGDBjFr1iy++OILOnbsSExMzCXbT0tL49SpUzz66KP89NNPfPvtt46eP1999dVF+xf1ayoiUt5ERUWxZs0aHnzwQdasWXPRF3LZjh49SkhICBMmTGDevHl8+OGHuLm50b59e3bv3n3R/kOGDKF58+bMmDGDu+++m7fffpuHH36Ya6+9loEDBzJr1ix69uzJE088wcyZM3M95nXXXUfdunX58ccfGTduHD/99BN9+/a9ZIwAO3bsoG3btmzbto0333yTX3/9lYEDB/Lggw/ywgsvFOxF+seAAQNwdXVl2bJl+Xpd7rrrLh544AEAZs6cyapVq1i1apUjaZbf1zZbVlYWixcvpk2bNgUayn399ddTt25dfvjhBz755JMCxZKfn1FBr53zG1NejrNw4UKuueYa/P39mT59Oq+//jrff/89U6ZMyevLl0NCQgIbN26kcePGjm1bt26lRYsWjvWzZ89y4MABxz6RkZEsXryYgwcPcuLECW677TaysrJytHE5BflsNG/ePK6//npCQkL47rvvmDhxIt9++y1ffvlljv0K8j4q6M/3zjvvxGazMXny5ItiWLt2LcOHD3d0kMhrXFu2bKFt27asXr2aF198kd9++43x48eTlpZGenr6Fd+TS5cupWfPniQkJDBp0iS+/fZb/P39GTx4MN99991F55Dbe0mkXDNExHJTpkwxgFwXV1fXHPvWqFHDGD58uGP9scceM2w2m7F9+/Yc+/Xt29cAjMWLFxuGYRgpKSlGcHCwMXjw4Bz7ZWVl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fY3o6Gije/fuhre3txEcHGzce++9RnJyco42AWPUqFEXHetKs9kbhmHs37//sr/z2TH98ssvjp9blSpVjMcee8z47bffLvp9yD73JUuWGG3atDE8PT2NypUrG0899ZSRkZFxUdzPP/+8Yz0tLc149NFHjSpVqhheXl5Gq1atjJ9++inX36Vz584Zzz33nFGvXj3Dw8PDCAkJMXr27GmsXLnysuc/YcIEo2bNmoanp6fRsGFD4/PPP3f8PjjrNRURkdx99913xtChQ4169eoZfn5+hru7u1G9enVj2LBhxo4dOxz7nT592hgxYoQRGhpq+Pj4GJ07dzaWL19udOvWzejWrZtjv0v9Pc/+G3qh3P4+Z7exYcMGY/DgwYafn5/h7+9v3HLLLcaxY8cc+13q2mv//v3GnXfeaVSpUsVwd3c3KlWqZHTs2NF4+eWXL/taXHjN6eHhYYSGhhrdunUzXn311VxnBs/r62IYhjF27FgjIiLCcHFxyfG3Oj9tXMrmzZuNO+64w6hVq5bh6elpeHl5GXXr1jVuu+02Y+HChbm+vrldc+X353yln9HljpfXa+fC/u5d6jizZ882mjVrZnh4eBjVq1c3JkyYkOv1x4W6det22eu0opbXz0aXOu9Zs2YZTZs2zXHeDz74oFGhQoUc++X1feTMz0bvvvuuARiNGjW65D55jWvHjh3Gf/7zHyMkJMRxrrfffruRmprq2OdS70nDMIzly5cbPXv2NHx9fQ1vb2+jQ4cOxi+//JKncxcp72yGUcjxoyJSIv3vf//j22+/5eTJk04fvi9l1+23386PP/54yZqsJVX37t05ceKEo+6diIhISTZu3DheeOEFjh8/XqD66lL09DMqOzIyMmjRogVVqlRh/vz5VocjImWAhvmLlAEvvvgiERER1K5d21ET6P/+7/945plnlEgVEREREZFyY8SIEfTu3ZvKlSsTFxfHJ598ws6dO3n33XetDk1EygglU0XKAHd3d15//XUOHz5MZmYm9erV46233nLUABMRERERESkPkpKSePTRRzl+/Dju7u60atWKuXPnXnYeBBGR/NAwfxEREREREREREZE8cLE6ABERERGRsmrcuHHYbLYcS3h4uONxwzAYN24cEREReHt70717d7Zv356jjbS0NB544AEqVqyIr68vV199NYcPHy7uUxEREZFy6KOPPqJWrVp4eXnRunVrli9fftn9ly5dSuvWrfHy8qJ27dp88sknxRRp8VEyVURERESkCDVu3JjY2FjHsnXrVsdjEydO5K233uKDDz5g3bp1hIeH07t3b5KSkhz7jB49mlmzZjF9+nRWrFhBcnIygwYNIisry4rTERERkXLiu+++Y/To0Tz99NNs2rSJLl260L9/f2JiYnLdf//+/QwYMIAuXbqwadMmnnrqKR588EFmzJhRzJEXLQ3zFxEREREpIuPGjeOnn35i8+bNFz1mGAYRERGMHj2aJ554AjB7oYaFhfHaa69xzz33kJCQQKVKlfj666+56aabADh69CjVqlVj7ty59O3btzhPR0RERMqR9u3b06pVKz7++GPHtoYNG3Lttdcyfvz4i/Z/4oknmD17Njt37nRsGzlyJFu2bGHVqlXFEnNx0ARU/2K32zl69Cj+/v7YbDarwxERERGxjGEYJCUlERERgYuLBjMVxt69e4mIiMDT05P27dvz6quvUrt2bfbv309cXBx9+vRx7Ovp6Um3bt1YuXIl99xzDxs2bCAjIyPHPhERETRp0oSVK1deMpmalpZGWlqaY91ut3Pq1ClCQkJ0nSsiIpJPVl0Xpaamkp6e7tQ2DcO46FrA09MTT0/PHNvS09PZsGEDTz75ZI7tffr0YeXKlbm2vWrVqhzXLAB9+/Zl0qRJZGRk4O7u7oQzsJ6Sqf+S/S2/iIiIiJgOHTpE1apVrQ6j1Grfvj1fffUV9evX59ixY7z88st07NiR7du3ExcXB0BYWFiO54SFhXHw4EEA4uLi8PDwoEKFChftk/383IwfP54XXnjByWcjIiJSvhXndVFqaiq1agQRF5925Z3zwc/Pj+Tk5Bzbnn/+ecaNG5dj24kTJ8jKysr1OuVS1yBxcXG57p+ZmcmJEyeoXLly4U+gBFAy9V/8/f0B880REBBgcTQiIiIi1klMTKRatWqO6yMpmP79+zvuN23alKioKOrUqcOXX35Jhw4dAC7qHZJbj5ELXWmfsWPHMmbMGMd6QkIC1atX13WuiIhIAVhxXZSenk5cfBoHt/QjwN856bvEpExqNJ930fXAhb1S/y2/1ym57Z/b9tJMydR/yf7BBgQE6CJTREREhLJ14VsS+Pr60rRpU/bu3cu1114LmL04/t1TIz4+3tGrIzw8nPT0dE6fPp2jd2p8fDwdO3a85HFyG64Hus4VEREpDCuui/z8XfDzd3VKW3bsQN6uBypWrIirq+tFvVD/fZ1yofDw8Fz3d3NzIyQkpBCRlywqgCUiIiIiUkzS0tLYuXMnlStXplatWoSHh7NgwQLH4+np6SxdutSRKG3dujXu7u459omNjWXbtm2XTaaKiIiIFIaHhwetW7fOcQ0CsGDBgkteg0RFRV20//z582nTpk2ZqZcK6pkqIiIiIlJkHn30UQYPHkz16tWJj4/n5ZdfJjExkeHDh2Oz2Rg9ejSvvvoq9erVo169erz66qv4+PgwdOhQAAIDAxkxYgSPPPIIISEhBAcH8+ijj9K0aVOuuuoqi89OREREipr9n3/Oais/xowZw7Bhw2jTpg1RUVF89tlnxMTEMHLkSMAsK3TkyBG++uorAEaOHMkHH3zAmDFjuPvuu1m1ahWTJk3i22+/dUr8JYWSqSIiIiIiReTw4cPccsstnDhxgkqVKtGhQwdWr15NjRo1AHj88cc5d+4c9913H6dPn6Z9+/bMnz8/R022t99+Gzc3N4YMGcK5c+fo1asXX3zxBa6uzhnyJyIiIiWX/Z/FWW3lx0033cTJkyd58cUXiY2NpUmTJsydO9dxHRMbG0tMTIxj/1q1ajF37lwefvhhPvzwQyIiInjvvfe44YYbnHQGJYPNyK4EKyQmJhIYGEhCQoJqSYmIiEi5puuiskU/TxERkYKz4u9o9jGP/d2PAH/nDJFPTMogrPY8XQ8UknqmioiIiIiIiIiIlEAGdgwn9U11VjvlnZKpIiIiIiIiIiIiJVCWYZDlpEHlzmqnvHOxOgARERERERERERGR0kA9U0VEREREREREREog459/zmpLCk89U0VERERERERERETyQD1TRURERERERERESqCsfxZntSWFp2SqiIiIiIiIiIhICWTgvOH5GuTvHBrmLyIiIiIiIiIiIpIHpSKZOn78eGw2G6NHj77sfkuXLqV169Z4eXlRu3ZtPvnkk+IJUERERERERERExMnshkGWkxa7ob6pzlDik6nr1q3js88+o1mzZpfdb//+/QwYMIAuXbqwadMmnnrqKR588EFmzJhRTJGKiIiIiIiIiIhIWVaik6nJycnceuutfP7551SoUOGy+37yySdUr16dd955h4YNG3LXXXdx55138sYbbxRTtCIiIiLFIEtTB4iIiIiUF4aTFym8Ep1MHTVqFAMHDuSqq6664r6rVq2iT58+Obb17duX9evXk5GRketz0tLSSExMzLGIiIiIlFinTsHMmbB7t9WRiIiIiEgxyMJw6iKFV2KTqdOnT2fjxo2MHz8+T/vHxcURFhaWY1tYWBiZmZmcOHEi1+eMHz+ewMBAx1KtWrVCxy0iIiJSJHbuhFmz4PRp2LQJ7HarIxIRERERKXdKZDL10KFDPPTQQ0ydOhUvL688P89ms+VYN/4prHvh9mxjx44lISHBsRw6dKjgQYuIiIgUhfR0+OMPWL7cHOJfrRpccw24lMjLOBERERFxIrvh3EUKz83qAHKzYcMG4uPjad26tWNbVlYWy5Yt44MPPiAtLQ1XV9cczwkPDycuLi7Htvj4eNzc3AgJCcn1OJ6ennh6ejr/BEREREScIT4eFi6EpCQzedquHTRtCpf4olhERERERIpWiUym9urVi61bt+bYdscdd9CgQQOeeOKJixKpAFFRUfzyyy85ts2fP582bdrg7u5epPGKiIiIOJVhQHQ0rFtnDuf394devSA01OrIRERERKQY2f9ZnNWWFF6JTKb6+/vTpEmTHNt8fX0JCQlxbB87dixHjhzhq6++AmDkyJF88MEHjBkzhrvvvptVq1YxadIkvv3222KPX0RERKTAzp2DxYvh8GFzvU4d6NIFPDysjUtEREREip0dG3acMyrJWe2UdyUymZoXsbGxxMTEONZr1arF3Llzefjhh/nwww+JiIjgvffe44YbbrAwShEREZF8OHLETKSePQtubtCxIzRoYHVUIiIiIiLyj1KTTF2yZEmO9S+++OKifbp168bGjRuLJyARERERZ7HbYcMG2LTJXK9QAa66yrwVERERkXLLmRNHaQIq5yg1yVQRERGRMik5GRYtguyJNBs2hKgos2eqiIiIiJRrGuZf8ugqXURERMQqBw7A0qWQlmbWRO3aFWrXtjoqERERERG5BCVTRURERIpbVhasXg3bt5vroaHQqxf4+1sbl4iIiIiUKHac16PU7pRWRMlUERERkeJ05gwsXAgnT5rrzZtD27bg4mJpWCIiIiIicmVKpoqIiIgUlz17YMUKyMwELy/o0QOqVbM6KhEREREpoQyc16NU8085h5KpIiIiIkUtI8NMou7da65HREDPnuDjY21cIiIiIlKiaQKqkkfJVBEREZGi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ysyEatWgTRurIxKRAvrpp5947733uPXWW3F1dQXM681nn32WHj168M0333DNNddYHKVICeThAd7eZjL11CkID7c6IhERKeeuu+66HOuGYRAbG8v69et57rnnCt1+iUymioiIlHh2OyxcCElJ5uzFmnBKpFTbsWMHtlzewy+99BI1atTgpptu4o033uD++++3IDqREq5CBTOZevKkkqkiIkWhnNQ6dZYKF5Rdc3FxoVGjRrz66qv06tWr0O07PZm6cOFCFi5cSHx8PHa7PcdjkydPdvbhRERErLFuHRw5Am5u5oRTnp5WRyQihZBbIjXbXXfdRZUqVbjpppuUTBXJTVCQOQmj6qaKiDifJqDKt6LOPzo1mfrCCy/w4osv0qZNGypXrnzZi1IREZFS6++/YcsW83737hAcbGk4IlL0+vfvz5IlS6wOQ6RkCgkxb8+csTQMERGR4uDUZOonn3zCF198wbBhw5zZrIiISMlx6hRkJ1SaN4fatS0NR0SKT6tWrawOQaRkyh5OmZBglsFxKZHzHIuIlEo2w1yc1ZYUnlP/yqWnp9OxY0dnNikiIlJypKWdn3CqalVo187qiERERKwXEADu7mAY6p0qIuJshpMXKTSnJlPvuusupk2b5swmRURESgbDgEWLIDER/P014ZSIiMi/BQSYt6qbKiIiZZxTh/mnpqby2Wef8ccff9CsWTPc3d1zPP7WW28583AiIiLFZ/16OHTo/IRTXl5WRyQiIlJyBAfDyZNmOZw6dayORkREJFdZWVn8+uuvTJo0idmzZxeoDacmU6Ojo2nRogUA27Zty/GYJqMSEZFSa/9+2LTJvN+16/mJNkRERMQUFGTeapi/iIiUQLt372by5Ml89dVXHD9+nB49ehS4LacmUxcvXuzM5kRERKx3+jRk/31r1gzq1rU2HhERkZIo+4tGDfMXEXEqTUBVcCkpKXz//fdMmjSJlStXUqtWLe677z5uv/12qlWrVuB2nZpMzfbXX3+xb98+unbtire3N4ZhqGeqiIiUPunp5yeciojQhFMiIiKXEhRk1hJPT4ezZ8HHx+qIRETKBmdOHFVOkqmrV69m0qRJfP/992RlZXHDDTfwyiuv0K1bN6e079Rk6smTJxkyZAiLFy/GZrOxd+9eateuzV133UVQUBBvvvmmMw8nIiJSdLInnEpIAD8/uOoqcHHqvI0iIiJlh5ub+fcyKQlOnIDq1a2OSEREyqlOnToRFBTExIkTufXWW/Hz83Nq+079VPjwww/j7u5OTEwMPv/6JvKmm25i3rx5zjyUiIhI0dq4EWJiwNVVE06JiIjkRYUK5q3qpoqIOE32MH9nLeVB3759SUxM5JVXXmHChAns27fPqe07NZk6f/58XnvtNapWrZpje7169Th48KAzDyUiIlJ0Dh6EDRvM+127QsWK1sYjIiJSGmRPQnXqlKVhiIhI+TZ37lz279/PPffcw7fffkv9+vXp3r07X375JefOnSt0+05NpqakpOTokZrtxIkTeHp6OvNQIiIiRePMGXN4P0CTJlCvnqXhiIiIlBrBweZtQoK1cYiIlCWGk5dyomrVqjz99NPs27ePP/74g6pVq3LvvfcSHh7O3XffzapVqwrctlOTqV27duWrr75yrNtsNux2O6+//jo9evRw5qFEREScL3vCqYwMCA+HDh2sjkhERKT0yE6mJiWZkzeKiIiUAD169GDq1KnExsYyYcIENm7cSKdOnQrcnlMnoHr99dfp3r0769evJz09nccff5zt27dz6tQp/vzzT2ceSkRExLkMA5YsMXum+vpC796acEpERCQ/fHzMGuOpqeZQ/9BQqyMSEZFyLDk5mR07duDi4kKjRo0IDAzk3nvv5d5772Xz5s0FbtepnxIbNWpEdHQ07dq1o3fv3qSkpHD99dezadMm6tSp48xDiYiIONemTXDggJlA7d0bvL2tjkhERKT0CQw0b0+etDYOEZGyQsP8C+TZZ5+lUqVKdOjQgXbt2lGxYkWefvppx+MtWrQocNtO7ZkKEB4ezgsvvODsZkVERIpOTAysX2/e79JFPWlEREQKqkIFOHbMHOkhIiJigQ8++IBPP/2U//u//6NGjRoMGDCABQsWcOeddxIYGMjjjz9eqPadmkyNjo7OdbvNZsPLy4vq1atrIioRESlZEhLOTzjVqBFERlobj4iISGlWoYJ5e/q0tXGIiEi59dFHH/HGG29w66238vfff2MYBu3bt+fdd9/lnnvuKVnJ1BYtWmCz2QAwDLPvcPY6gLu7OzfddBOffvopXl5ezjy0iIhI/mVkmBNOpadDWBh07Gh1RCIiIqVbSIh5m5AAdrvqj4uIFJYzh+eXk2H+f//9N507d75oe926dYmNjS10+079yzZr1izq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KCQkxKl2VpQRI0bo3nvvvew5derU0datW3X06NECjx07dqzA6JtLBQcHq169eqpXr57atWun+vXra8aMGUUWeF2xb98+hYWF6ezZs9q7d69sNpvq1q2r8PBwt0w145Zi6gcffOCOZpz06dNHffr0uernRUREqEqVKm6PBwDgoc6cMedJtdulunWl5s2tjggAHAzD0MiRI7VgwQKtWLFCcXFxTo/HxcUpKipKy5Ytc8zflZOTo5UrV+qVV16RJMXHx8vX11fLli3TPffcI0lKSUnR9u3bNWnSpNJ9QcAVtG3bVq9NeVUvPvOs9h7cLX9bgL48u0e5gVK3Wzvr1ddeZUo4ACgjwsPDXRpyn5iYqIyMDH3//fdq06aNJGnDhg3KyMgo8oPfohiG4TTv+7WIjIzU6NGjNX36dF24cEGS5OPjo6FDh+rVV18tVttSOVyAqlWrVjp//rwaN26sv/3tb5cdQsLE/ABQxuUvOHXunBQWJnXubHVEAOBk+PDh+uSTT/Tf//5XlStXdswbFhoaqsDAQNlsNo0aNUoTJkxQ/fr1Vb9+fU2YMEFBQUGOFW5DQ0M1ZMgQPfnkk6pWrZrCwsI0ZswYNWvWTD169LDy5QGFuuWWW9SpTh1te+stHc7IUGR8vLp3767mzZtTSAWAq1UCc6a6W6NGjXTTTTfpT3/6k9555x1J0iOPPKJbb73VafGphg0bauLEibrzzjt15swZvfTSS7rtttsUHR2t48ePa9q0aTp06JDuvvvuYsXz9NNPa/78+Zo1a5Y6duwowzC0du1ajRkzRoZh6M033yxW++WmmBodHa13331X8fHxys7O1kcffaTu3btrxYoVuvHGGwt9DhPzA0AZ9913Ulqa5O8v9erFglMAPM706dMlSV26dHE6/sEHH+iBBx6QJD311FM6d+6chg0bppMnT6pt27ZaunSpKl809/M//vEP+fj46J577tG5c+fUvXt3zZo1y2mFWsCThFy4oA7t20uxsVIRf48BAMqPjz/+WI899ph69eolSbrttts0depUp3N2796tjIwMSZK3t7d+/PFHffjhh0pPT1e1atXUunVrrV69Wk2aNClWLJ9++qlmz56t3r17O471799fVatW1cCBA4tdTLUZhlFCdWn3sdlsWrBgge64446rel7fvn1ls9n0xRdfFPp4YT1Ta9WqpYyMDJfm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o0ePduyfOnVKtWvX1oEDByiOlyL+/1b6uOelj3te+rjnpS8jI0OxsbEKCwsrtWsGBARo3759yslxX89UqfDcoajC5bhx4wr9cPZiGzdulFQwRynqWhfr37+/4/umTZsqISFBtWvX1sKFC9WvX7/LXtdKFFMv4uXlpZo1a5bqNUNCQvifn4u4V1eH++U67tXV4X5dHe6X67hXV6c07hdFN88RHh4ub2/vAr070tLSCvRWlYoerhcaGsr7zAL8/630cc9LH/e89HHPS5+XV+mu4x4QEKCAgIBSvebFRowYoXvvvfey59SpU0dbt27V0aNHCzx27NixQvOUokRHR6t27dras2fPVcdamiimAgAAAB7Oz89P8fHxWrZsme68807H8WXLlun222+3MDIAAFBehYeHKzw8/IrnJSYmKiMjQ99//73atGkjSdqwYYMyMjLUvn17l693/PhxHTx4UNHR0dccc2ko3ZI6AAAAgGsyevRovf/++5o5c6Z27dqlJ554QgcOHNDQoUOtDg0AAFRgjRo10k033aQ//elPWr9+vdavX68//elPuvXWW50Wn2rYsKEWLFggSTp9+rTGjBmjdevW6ddff9WKFSvUt29fhYeHO31w7InomWoRf39/Pf/88x49oa6n4F5dHe6X67hXV4f7dXW4X67jXl0d7lfF1b9/fx0/flwvvPCCUlJS1LRpUy1atEi1a9e+4nP5vbEG9730cc9LH/e89HHPSx/3/Mo+/vhjPfbYY+rVq5ck6bbbbtPUqVOdztm9e7cyMjIkSd7e3tq2bZtmz56tU6dOKTo6Wl27dtW8efNUuXLlUo//atgMwzCsDgIAAAAAAAAAPB3D/AEAAAAAAADABRRTAQAAAAAAAMAFFFMBAAAAAAAAwAUUUwEAAAAAAADABRRTLTBt2jTFxcUpICBA8fHxWr16tdUheaRVq1apb9++iomJkc1m0+eff251SB5r4sSJat26tSpXrqyIiAjdcccd2r17t9Vheazp06erefPmCgkJUUhIiBITE/XVV19ZHVaZMHHiRNlsNo0aNcrqUDzSuHHjZLPZnLaoqCirw/Johw8f1h//+EdVq1ZNQUFBatmypZKSkqwOy+PUqVOnwO+WzWbT8OHDrQ4NZQT5p/tcKUc1DEPjxo1TTEyMAgMD1aVLF+3YscPpnOzsbI0cOVLh4eEKDg7WbbfdpkOHDpXiqyg7XMlzuefud6V8mXtesgrLubnn7nel3J17jqJQTC1l8+bN06hRo/Tss89qy5Yt6tSpk/r06aMDBw5YHZrHOXPmjFq0aKGpU6daHYrHW7lypYYPH67169dr2bJlys3NVa9evXTmzBmrQ/NINWvW1Msvv6xNmzZp06ZN6tatm26//fYC/zDC2caNG/Xuu++qefPmVofi0Zo0aaKUlBTHtm3bNqtD8lgnT55Uhw4d5Ovrq6+++ko7d+7U66+/ripVqlgdmsfZuHGj0+/VsmXLJEl33323xZGhLCD/dK8r5aiTJk3S5MmTNXXqVG3cuFFRUVHq2bOnsrKyHOeMGjVKCxYs0Ny5c7VmzRqdPn1at956q/Ly8krrZZQZruS53HP3u1K+zD0vOUXl3NzzknG53J17jiIZKFVt2rQxhg4d6nSsYcOGxjPPPGNRRGWDJGPBggVWh1FmpKWlGZKMlStXWh1KmVG1alXj/ffftzoMj5WVlWXUr1/fWLZsmdG5c2fj8ccftzokj/T8888bLVq0sDqMMuPpp582OnbsaHUYZdLjjz9u1K1b17Db7VaHgjKA/LPkXJqj2u12Iyoqynj55Zcdx86fP2+EhoYab7/9tmEYhnHq1CnD19fXmDt3ruOcw4cPG15eXsbixYtLLfay6tI8l3teevLzZe55ySkq5+ael4zL5e7cc1wOPVNLUU5OjpKSktSrVy+n47169dLatWstigrlUUZGhiQpLCzM4kg8X15enubOnaszZ84oMTHR6nA81vDhw3XLLbeoR48eVofi8fbs2aOYmBjFxcXp3nvv1S+//GJ1SB7riy++UEJCgu6++25FRESoVatWeu+996wOy+Pl5ORozpw5euihh2Sz2awOBx6O/LN07du3T6mpqU7329/fX507d3bc76SkJF24cMHpnJiYGDVt2pSfiQsuzXO55yXv0nyZe15yisq5ueclp6jcnXuOy/GxOoCKJD09XXl5eYqMjHQ6HhkZqdTUVIuiQnljGIZGjx6tjh07qmnTplaH47G2bdumxMREnT9/XpUqVdKCBQvUuHFjq8PySHPnztXmzZu1ceNGq0PxeG3bttXs2bN1/fXX6+jRo3rxxRfVvn177dixQ9WqVbM6PI/zyy+/aPr06Ro9erT++te/6vvvv9djjz0mf39/DRo0yOrwPNbnn3+uU6dO6YEHHrA6FJQB5J+lK/+eFna/9+/f7zjHz89PVatWLXAOP5PLKyzP5Z6XnKLy5fwiEffcvS6Xc/N7XjIul7tzz3E5FFMtcGkvEsMw6FkCtxkxYoS2bt2qNWvWWB2KR2vQoIGSk5N16tQpzZ8/X4MHD9bKlSspqF7i4MGDevzxx7V06VIFBARYHY7H69Onj+P7Zs2aKTExUXXr1tWHH36o0aNHWxiZZ7Lb7UpISNCECRMkSa1atdKOHTs0ffp0iqmXMWPGDPXp00cxMTFWh4IyhPyzdF3L/eZncmWXy3O55+5XVL6cj3vuPq7m3Nxz97pc7t6uXTtJ3HMUjmH+pSg8PFze3t4FPqFIS0sr8GkHcC1GjhypL774QsuXL1fNmjWtDsej+fn5qV69ekpISNDEiRPVokULvfHGG1aH5XGSkpKUlpam+Ph4+fj4yMfHRytXrtSbb74pHx8fJla/guDgYDVr1kx79uyxOhSPFB0dXeADjEaNGrEozmXs379fX3/9tR5++GGrQ0EZQf5ZuvJXgb7c/Y6KilJOTo5OnjxZ5DkoqKg8l3tecorKl7nn7nelnDv/nnHPS9bFuTu/57gciqmlyM/PT/Hx8Y4VePMtW7ZM7du3tygqlAeGYWjEiBH67LPP9O233youLs7qkMocwzCUnZ1tdRgep3v37tq2bZuSk5MdW0JCgu6//34lJyfL29vb6hA9WnZ2tnbt2qXo6GirQ/FIHTp00O7du52O/fTTT6pdu7ZFEXm+Dz74QBEREbrlllusDgVlBPln6YqLi1NUVJTT/c7JydHKlSsd9zs+Pl6+vr5O56SkpGj79u38TApxpTyXe1568vNl7rn7XSnnvu6667jnpeDi3J3fc1xWaa94VdHNnTvX8PX1NWbMmGHs3LnTGDVqlBEcHGz8+uuvVofmcbKysowtW7YYW7ZsMSQZkydPNrZs2WLs37/f6tA8zp///GcjNDTUWLFihZGSkuLYzp49a3VoHmns2LHGqlWrjH379hlbt241/vrXvxpeXl7G0qVLrQ6tTLh4ZVE4e/LJJ40VK1YYv/zyi7F+/Xrj1ltvNSpXrsz/44vw/fffGz4+PsZLL71k7Nmzx/j444+NoKAgY86cOVaH5pHy8vKM2NhY4+mnn7Y6FJQx5J/udaUc9eWXXzZCQ0ONzz77zNi2bZtx3333GdHR0UZmZqajjaFDhxo1a9Y0vv76a2Pz5s1Gt27djBYtWhi5ublWvSyP5Uqeyz13vyvly9zzkndpzs09d78r5e7ccxSFYqoF3nrrLaN27dqGn5+fccMNNxgrV660OiSPtHz5ckNSgW3w4MFWh+ZxCrtPkowPPvjA6tA80kMPPeR4D1avXt3o3r07hdSrQDG1aP379zeio6MNX19fIyYmxujXr5+xY8cOq8PyaF9++aXRtGlTw9/f32jYsKHx7rvvWh2Sx1qyZIkhydi9e7fVoaAMIv90nyvlqHa73Xj++eeNqKgow9/f37jxxhuNbdu2ObVx7tw5Y8SIEUZYWJgRGBho3HrrrcaBAwcseDWez5U8l3vuflfKl7nnJe/SnJt77n5Xyt255yiKzTAMo9S6wQIAAAAAAABAGcWcqQAAAAAAAADgAoqpAAAAAAAAAOACiqkAAAAAAAAA4AKKqQAAAAAAAADgAoqpAAAAAAAAAOACiqkAAAAAAAAA4AKKqQAAAAAAAADgAoqpAMqkWbNmqUqVKpZd32az6fPPP7e8DQAAAAAAUHoopgIoFQcPHtSQIUMUExMjPz8/1a5dW48//riOHz9udWgl4oEHHpDNZiuw3XTTTY5zUlJS1KdPHwujlEaOHKn69esX+tjhw4fl7e2tzz77rFjX+PXXX2Wz2ZScnFysdgAAAAAAsBrFVAAl7pdfflFCQoJ++uknffrpp9q7d6/efvttffPNN0pMTNSJEyeKfG5OTk6JxXXhwoUSa1uSbrrpJqWkpDhtn376qePxqKgo+fv7l2gMVzJkyBDt3btXq1evLvDYrFmzVK1aNfXt29eCyApX0j8zAACAkma329WwYUM9/fTTTseXLFkiPz8//fvf/7YoMgCAKyimAihxw4cPl5+fn5YuXarOnTsrNjZWffr00ddff63Dhw/r2WefdZxbp04dvfjii3rggQcUGhqqP/3pT5LMwl5sbKyCgoJ05513Ftqj9csvv1R8fLwCAgJ03XXXafz48crNzXU8brPZ9Pbbb+v2229XcHCwXnzxRZeet2fPHt14440KCAhQ48aNtWzZMpdet7+/v6Kiopy2qlWrOsVz8TD/tWvXqmXLlgoICFBCQoI+//zzAj06d+7cqZtvvlmVKlVSZGSkBg4cqPT0dMfjXbp00WOPPaannnpKYWFhioqK0rhx44qMsWXLlrrhhhs0c+bMAo/NmjVLgwYNkq+v7xWva7fb9corr6hevXry9/dXbGysXnrpJUlSXFycJKlVq1ay2Wzq0qWL4zkvvPCCatasKX9/f7Vs2VKLFy92tJnfo/Vf//qXunTpooCAAM2ZM0f79+9X3759VbVqVQUHB6tJkyZatGiRSz8TAAAAq3l5eWns2LGaPn26Tp48KUn64YcfdPfdd2vChAm6++67LY4QAHA5FFMBlKgTJ05oyZIlGjZsmAIDA50ei4qK0v3336958+bJMAzH8VdffVVNmzZVUlKS/v73v2vDhg166KGHNGzYMCUnJ6tr166OQmi+JUuW6I9//KMee+wx7dy5U++8845mzZrlKOjle/7553X77bdr27Zteuihh674PLvdrn79+snb21vr16/X22+/XaAXgTtkZWWpb9++atasmTZv3qz/+7//K3CdlJQUde7cWS1bttSmTZu0ePFiHT16VPfcc4/TeR9++KGCg4O1YcMGTZo0SS+88MJlC8BDhgzRv//9b50+fdpxbOXKldq7d68eeughl647duxYvfLKK/r73/+unTt36pNPPlFkZKQk6fvvv5ckff3110pJSXFMG/DGG2/o9ddf12uvvaatW7eqd+/euu2227Rnzx6n+J5++mk99thj2rVrl3r37q3hw4crOztbq1at0rZt2/TKK6+oUqVK13DXAQAArHH//fcrPDxcb775pg4dOqRbbrlFAwcO1JgxY6wODQBwJQYAlKD169cbkowFCxYU+vjkyZMNScbRo0cNwzCM2rVrG3fccYfTOffdd59x0003OR3r37+/ERoa6tjv1KmTMWHCBKdzPvroIyM6OtqxL8kYNWqU0zlXet6SJUsMb29v4+DBg47Hv/rqq8u+JsMwjMGDBxve3t5GcHCw0/bCCy84xZPfxvTp041q1aoZ586dczz+3nvvGZKMLVu2GIZhGH//+9+NXr16OV3n4MGDhiRj9+7dhmEYRufOnY2OHTs6ndO6dWvj6aefLjLWkydPGgEBAcbMmTMdxwYNGmQkJia6dN3MzEzD39/feO+99wptf9++fU6vI19MTIzx0ksvFYh12LBhTs+bMmWK0znNmjUzxo0bV+TrAQAAKAvefvttIywszGjWrJnRt29fIzc31+qQAAAu8LGqiAsAkhw9Um02m+NYQkKC0zm7du3SnXfe6XQsMTHRaUh4UlKSNm7c6NQTNS8vT+fPn9fZs2cVFBRUaNtXet6uXbsUGxurmjVrOl3bFV27dtX06dOdjoWFhRV67u7du9W8eXMFBAQ4jrVp06ZArMuXLy+0F+bPP/+s66+/XpLUvHlzp8eio6OVlpZWZJxVqlRRv379NHPmTD344IPKysrS/PnzNWXKFJeue+rUKWVnZ6t79+5FXuNSmZmZOnLkiDp06OB0vEOHDvrhhx+cjl36M3vsscf05z//WUuXLlWPHj101113FXjNAAAAnu7+++/XqFGjZBiGPv30U3l7ezs9fuedd2rFihXq3r27/vOf/1gUJQDgUhRTAZSoevXqyWazaefOnbrjjjsKPP7jjz+qatWqCg8PdxwLDg52Ose4aAqAotjtdo0fP179+vUr8NjFBcpL277S8wq79sWF38sJDg5WvXr1XDrXMIwC7V56bbvdrr59++qVV14p8Pzo6GjH976+vgXitdvtl73+kCFD1L17d+3Zs0crV66UJPXv39+l6/7yyy+XbftyCnvNlx679Gf28MMPq3fv3lq4cKGWLl2qiRMn6vXXX9fIkSOvOQ4AAIDSNmLECElSenp6gUKqZH6A/NBDD+nDDz8s7dAAAJfBnKkASlS1atXUs2dPTZs2TefOnXN6LDU1VR9//LH69+9/2QJl48aNtX79eqdjl+7fcMMN2r17t+rVq1dg8/Iq+n91V3pe48aNdeDAAR05csTxnHXr1l3NLXBJw4YNtXXrVmVnZzuObdq0qUCsO3bsUJ06dQrEemnB8Wp17dpV1113nWbNmqWZM2fqnnvuUeXKlV26bv369RUYGKhvvvmm0Lb9/PwkmT1+84WEhCgmJkZr1qxxOnft2rVq1KjRFeOtVauWhg4dqs8++0xPPvmk3nvvvWt96QAAAKXu73//uxYuXKj169crNzdXM2bMKHBO165dHfkYAMBzUEwFUOKmTp2q7Oxs9e7dW6tWrdLBgwe1ePFi9ezZUzVq1CiwSNSlHnvsMS1evFiTJk3STz/9pKlTpzoN8Zek5557TrNnz9a4ceO0Y8cO7dq1S/PmzdPf/va3y7Z9pef16NFDDRo00KBBg/TDDz9o9erVevbZZ1163dnZ2UpNTXXa0tPTCz13wIABstvteuSRR7Rr1y4tWbJEr732mqTfe28OHz5cJ06c0H333afvv/9ev/zyi5YuXaqHHnrIqVB5LWw2mx588EFNnz5d69at05AhQxyPXem6AQEBevrpp/XUU09p9uzZ+vnnn7V+/XrHHwUREREKDAx0LFyVkZEhSfrLX/6iV155RfPmzdPu3bv1zDPPKDk5WY8//vhlYx01apSWLFmiffv2afPmzfr2229dKsACAAB4gvfff1+vv/66vvzyS7Vo0UKjRo3SpEmTdOHCBatDAwC4gGIqgBJXv359bdq0SXXr1lX//v1Vt25dPfLII+ratavWrVtX5Dyi+dq1a6f3339f//znP9WyZUstXbq0QJG0d+/e+t///qdly5apdevWateunSZPnqzatWtftu0rPc/Ly0sLFixQdna22rRpo4cffviKxd98ixcvVnR0tNPWsWPHQs8NCQnRl19+qeTkZLVs2VLPPvusnnvuOUm/T1MQExOj7777Tnl5eerdu7eaNm2qxx9/XKGhoZftfeuqBx54QBkZGWrQoIHTXKauXPfvf/+7nnzyST333HNq1KiR+vfv75in1cfHR2+++abeeecdxcTE6Pbbb5dkFsmffPJJPfnkk2rWrJkWL16sL774QvXr179snHl5eRo+fLgaNWqkm266SQ0aNNC0adOK/foBAABK2ldffaXhw4drzpw5ateunSRp5MiRyszM1EcffWRxdAAAV9gMVyYjBACUuo8//lgPPvigMjIyFBgYaHU4AAAAKIakpCR17txZL730UoGROM8995zmzp2rXbt2Oc2fumLFCk2dOpUFqADAg1BMBQAPMXv2bF133XWqUaOGfvjhB40YMUJdunTRnDlzrA4NAAAAFqCYCgCex8fqAAAAptTUVD333HNKTU1VdHS07r77bpenFAAAAED50rt3b23evFlnzpxRzZo1tWDBArVu3drqsACgwqNnKgAAAAAAAAC4gAWoAAAAAAAAAMAFFFMBAAAAAAAAwAUUUwEAAAAAAADABRRTAQAAAAAAAMAFFFMBAAAAAAAAwAUUUwEAAAAAAADABRRTAQAAAAAAAMAFFFMBAAAAAAAAwAUUUwEAAAAAAADABRRTAQAAAAAAAMAFFFMBAAAAAAAAwAUUUwEAAAAAAADABRRTAQAAAAAAAMAFFFMBAAAAAAAAwAUUUwEAAAAAAADABRRTAQAAAAAAAMAFFFMBAAAAAAAAwAUUUwEAAAAAAADABRRTAQAAAAAAAMAFFFMBAAAAAAAAwAUUUwEAAAAAAADABRRTAQAAAAAAAMAFFFMBAAAAAAAAwAUUUwEAAAAAAADABRRTAQAAAAAAAMAFFFMBAAAAAAAAwAUUUwEAAAAAAADABRRTAQAAAAAAAMAFFFMBAAAAAAAAwAUUUwEAAAAAAADABRRTAQAAAAAAAMAFFFMBAAAAAAAAwAUUUwEAAAAAAADABRRTAQAAAAAAAMAFFFMBAAAAAAAAwAUUUwEAAAAAAADABRRTAQAAAAAAAMAFFFMBAAAAAAAAwAUUUwEAAAAAAADABRRTAQAAAAAAAMAFFFMBAAAAAAAAwAUUUwEAAAAAAADABRRTAQAAAAAAAMAFFFMBAAAAAAAAwAUUUwEAAAAAAADABRRTAQAAAAAAAMAFFFMBAAAAAAAAwAUUUwEAAAAAAADABRRTAQAAAAAAAMAFFFMBAAAAAAAAwAUUUwEAAAAAAADABRRTAQAAAAAAAMAFFFMBAAAAAAAAwAUUUwEAAAAAAADABRRTAQAAAAAAAMAFFFMBAAAAAAAAwAUUUwEAAAAAAADABRRTAQAAAAAAAMAFFFMBwMP06dNHn3zyidVhAAAAAC4xDEMhISFKTU0tcCw9Pd3CyADA/SimAoBFcnNzCz2+adMmtWrVqpSjAQAAAK7Nr7/+Kn9/f0VFRTmO7dmzR9WrV1d4eLiFkQGA+1FMBYBS8sYbb+iuu+7SgAEDVLlyZS1evFi5ubn629/+ppiYGNWrV09z587V2bNn1aBBA6vDBQAAAK5o586datSokU6ePKlKlSopPj5ekrR582a1bNlSjz76qKpUqaLGjRtr7969FkcLAMVHMRUFbNiwQXfeeadiY2Pl7++vyMhIJSYm6sknn7Q6tMuaNWuWbDabfv31V7e2l78FBAQoKipKXbt21cSJE5WWlnbNba9du1bjxo3TqVOn3BLrpbZu3aohQ4aobt26CgwMVGBgoOrXr69HH31UmzZtKpFrumrcuHGy2WxlYrhPfqyXk5ycrFtuuUWxsbEKDAxUWFiYEhMTNWfOnALnbt26VStXrtQjjzyijIwM9e7dW08//bQ2bdqkLVu2aOXKlXrmmWfUokULeXkV/b/nS383L91WrFhR4Fx3vS/c7c4771RgYOBl3wv333+/fH19dfToUbdfv6TfiwAAz0Ke69weea57lbc891Lvv/++bDabKlWq5HS8cePGeuGFF/TII4/o9OnTSkpKkiRt2bJFmzZt0oMPPqgTJ07ohhtu0HvvvXfZa7ia53p6jiuR5wLlGcVUOFm4cKHat2+vzMxMTZo0SUuXLtUbb7yhDh06aN68eVaHZ4kPPvhA69at07Jly/TWW2+pZcuWeuWVV9SoUSN9/fXX19Tm2rVrNX78+BL5h+2dd95RfHy8NmzYoMcff1z/+9//tHDhQo0aNUo7duxQ69at9fPPP7v9uhXVqVOnVKtWLU2YMEGLFi3S7NmzVadOHQ0cOFAvvvii07lbt27Vc889py5dusjLy0vHjh3Te++9p9mzZysyMlI1atRQhw4dXB7in/+7eel2ww03OM655ZZbtG7dOkVHR7v1dbvLkCFDdP78+SLniM3IyNCCBQt06623KjIy0u3XL8n3IgDAs5DnFkSeC1cdPnxYY8aMUUxMTKGPb926VS1atHA6tmXLFo0fP17t2rWTl5eX6tatK8MwXLrelfJcT89xJfJcoDzzsToAeJZJkyYpLi5OS5YskY/P778e9957ryZNmmRhZNZp2rSpEhISHPt33XWXnnjiCXXs2FH9+vXTnj17SuQfv2vx3XffadiwYbrlllv0n//8R35+fo7HunXrpuHDh+vf//63AgMDL9vO2bNnFRQUVNLhlgtdunRRly5dnI7deuut2rdvn95991397W9/kyTZ7Xbt3LlTd911l+O8b775Rm3atFFERITj2LFjx9S1a1eXrn3p72ZhqlevrurVq7v4akpfnz59FBMTo5kzZ2rYsGEFHv/000917tw5DRkyxILorh3vIQDwPOS5BZHnwlVDhw7VjTfeqLCwMP3nP/8p8PgPP/ygESNGOB3bsmWL02itHTt26Oabb3bpelfKcz09x5XKZ57L+wcw0TMVTo4fP67w8HCnBDPfxcOO9+7dqwcffFD169dXUFCQatSoob59+2rbtm1Oz8kfPrJ161bdfffdCg0NVVhYmEaPHq3c3Fzt3r1bN910kypXrqw6deoUmsjmt7Flyxb169dPISEhCg0N1R//+EcdO3bsiq9pz549GjBggCIiIuTv769GjRrprbfeuoa787vY2Fi9/vrrysrK0jvvvHNV92XcuHH6y1/+IkmKi4srMGTF1XtbmAkTJsjb21vvvPOOU4J5sbvvvtvpE+X8+7t582b94Q9/UNWqVVW3bt2riuVafkZHjx7Vfffdp9DQUEVGRuqhhx5SRkbGFV/j1ca0Y8cOl66zcOFCtWzZUv7+/oqLi9Nrr712xVgu59L30d69e1W5cmXVqFHDcSw9PV3VqlVz7KelpWn16tVOPUuLq7AhUP/973/VvHlz+fv767rrrtMbb7xR5FAvV94/V3uvL+bt7a3BgwcrKSmp0N/xDz74QNHR0erTp89VxZTvxx9/1H333afIyEj5+/srNjZWgwYNUnZ29hXfi2vWrFH37t1VuXJlBQUFqX379lq4cGGBa1zuPQQA8Bzkua4hzyXPvdScOXO0cuVKTZs2rdDHc3Jy9NNPP6lZs2aOYwcPHpSPj49Tp4GtW7eqefPmV3XtohQ1zL+i5LmXy3Hz4y5unkuOCxSNYiqcJCYmasOGDXrssce0YcMGXbhwodDzjhw5omrVqunll1/W4sWL9dZbb8nHx0dt27bV7t27C5x/zz33qEWLFpo/f77+9Kc/6R//+IeeeOIJ3XHHHbrlllu0YMECdevWTU8//bQ+++yzQq955513ql69evrPf/6jcePG6fPPP1fv3r2LjFEyJ0Nv3bq1tm/frtdff13/+9//dMstt+ixxx7T+PHjr+0m/ebmm2+Wt7e3Vq1adVX35eGHH9bIkSMlSZ999lmBIStXe2/z5eXlafny5UpISLim4S79+vVTvXr19O9//1tvv/32NcVyNT+ju+66S9dff73mz5+vZ555Rp988omeeOKJK8Z5tTG5cp1vvvlGt99+uypXrqy5c+fq1Vdf1b/+9S998MEHrt4+2e125ebm6tixY5o2bZqWLFmip59+2vF4YUOfGjRooOXLl2v//v1KT0/XoEGDlJeXpyZNmrh0zby8POXm5jpteXl5l33O4sWL1a9fP1WrVk3z5s3TpEmT9Omnn+rDDz8scO7Vvn+u9Wf60EMPyWazaebMmQWu//3332vw4MHy9va+6ph++OEHtW7dWuvXr9cLL7ygr776ShMnTlR2drZycnIu+15cuXKlunXrpoyMDM2YMUOffvqpKleurL59+xY5FLSw9xAAwHOQ57qOPJc8N19aWppGjRqll19+WTVr1iz0nKysLBmGoZycHMexLVu2OBVOz549q19//ZU896LrX2uee6UcV7r8e/Fq81xyXKAQBnCR9PR0o2PHjoYkQ5Lh6+trtG/f3pg4caKRlZVV5PNyc3ONnJwco379+sYTTzzhOP78888bkozXX3/d6fyWLVsakozPPvvMcezChQtG9erVjX79+jmdm9/Gxe0ahmF8/PHHhiRjzpw5hmEYxgcffGBIMvbt2+c4p3fv3kbNmjWNjIwMp+eOGDHCCAgIME6cOFHka8pvb+PGjUWeExkZaTRq1KjIx4u6L6+++mqBWK+2jUulpqYakox777230DYuXLjg2Ox2u+Ox/Pv73HPPXXMsrv6MLj530qRJTucOGzbMCAgIcIrNFVeKyZXrtG3b1oiJiTHOnTvnOJaZmWmEhYUZrv5v8tFHH3W8b/z8/Ixp06Y5Pf7cc88ZY8aMcTqWl5dnDB482KhcubLRqFEjY8SIEUaLFi2ueK38383CNm9v70LPzf9da926tVGrVi0jOzvbcU5WVpZRrVq1Aq/V1fePO36mnTt3NsLDw42cnBzHsSeffNKQZPz0009XHZNhGEa3bt2MKlWqGGlpaUVet6j3Yrt27YyIiAin/+/l5uYaTZs2NWrWrHnN7yEAgHXIc39Hnut6LBU9z73rrruM9u3bO9ocPHiwERwcXOC8wYMHG5UqVTJat25tGIZhjBs3zin3/f77742GDRte8Xqu5rmFvScqSp7rSo5rGMXPc8lxgaLRMxVOqlWrptWrV2vjxo16+eWXdfvtt+unn37S2LFj1axZM8fKlLm5uZowYYIaN24sPz8/+fj4yM/PT3v27NGuXbsKtHvrrbc67Tdq1Eg2m81pSIOPj4/q1aun/fv3Fxrb/fff77R/zz33yMfHR8uXLy/0/PPnz+ubb77RnXfeqaCgIKdPNW+++WadP39e69evv6r7cynjkgnUr/a+FMYdbVwqPj5evr6+ju31118vcM7Fc3leayxX8zO67bbbnPabN2+u8+fPX3H12KuN6UrXOXPmjDZu3Kh+/fopICDAcV7+p7Ou+utf/6qNGzdq4cKFeuihhzRixAinIVTjx4/Xq6++6vQcLy8vzZo1S5mZmdq5c6f++c9/Kjk52eVrzp49Wxs3bnTaNmzYUOT5Z86c0aZNm3THHXc4DY+rVKlSgdd6Le+fa/2ZSuYE/enp6friiy8kmT/nOXPmqFOnTqpfv/5Vx3T27FmtXLlS99xzz1XPp3XmzBlt2LBBf/jDH5xWq/X29tbAgQN16NChInuHAAA8F3nu1SHPdVYR89z58+fryy+/1HvvvVfoMPmLzZo1S1lZWfr+++8lSc8//7xT7tu6deur+hmT5xYeU3Fy3Pz7dLV5LjkuUBALUKFQCQkJjgm/L1y4oKefflr/+Mc/NGnSJE2aNEmjR4/WW2+9paefflqdO3dW1apV5eXlpYcffljnzp0r0F5YWJjTvp+fn4KCgpz+Uc8/npmZWWhMUVFRTvs+Pj6qVq2ajh8/Xuj5x48fV25urv75z3/qn//8Z6Hn5CfN1+LMmTM6fvy409xAV3tfCnOtbYSHhyswMLDQJP2TTz7R2bNnlZKSUiARyFfYkKmrjeVqfkYXzxUqSf7+/pJ0xft0tTFd6TonT56U3W4vEHthr+dyYmNjFRsbK0mOifXHjh2rwYMHl9jk+I0aNbriAlQXO3nypAzDKHQhiUuPXcv751p/ppL0hz/8QSNHjtQHH3ygu+66S4sWLdLRo0f1yiuvXFNMJ0+eVF5eXpHD0S4n/z4V9p7In4etsN9pT15NFgDwO/LcKyPPJc89ffq0hg8frpEjRyomJsaxInz+MPJTp07J19dXwcHBl23nWpHnFh5TcXJc6dryXHJcoCCKqbgiX19fPf/88/rHP/6h7du3SzInIR80aJAmTJjgdG56erqqVKlSInGkpqY6Ld6Tm5ur48ePF/iHLV/VqlUdn7ANHz680HPi4uKuOZ6FCxcqLy/PaSV3d9yXa23D29tb3bp109KlS5WSkuL0j17jxo0lqcAE7Rcr7NPmq43lan9G18Ldv3tVq1aVzWZTampqgccKO+aqNm3a6O2339Yvv/ziMSuN5r/Wo0ePFnjs0tda0u+fSwUGBuq+++7Te++9p5SUFM2cOVOVK1fW3XfffU0xhYWFydvbW4cOHbrqWPL/cElJSSnw2JEjRySZf9Rd6ko9NgAAnoc8t3DkuQVjqWh5bnp6uo4eParXX3+90N6+VatW1e23367PP//8quMqCRUlzw0KCrrmHDf/Oleb55LjAgUxzB9OCvufqiTHkIz8T6tsNpvj07h8Cxcu1OHDh0ssto8//thp/1//+pdyc3OdkryLBQUFqWvXro7Jz/N7IVy8XWvyc+DAAY0ZM0ahoaF69NFHHcddvS+X+ySzOPd27NixysvL09ChQy+7YIGrrjaWq/0ZlUZMVxIcHKw2bdros88+0/nz5x3Hs7Ky9OWXX15znMuXL5eXl5euu+66a27D3YKDg5WQkKDPP//caYGA06dP63//+5/TuSX5/inKkCFDlJeXp1dffVWLFi3Svffeq6CgoGuKKTAwUJ07d9a///3vy/bMKey9GBwcrLZt2+qzzz5zOm632zVnzhzVrFlT119/vVtfOwCg5JHnuoY8lzxXMnuuLl++vMDWu3dvBQQEaPny5XrxxRevKa6SUFHyXFdzXIk8FyhJ9EyFk969e6tmzZrq27evGjZsKLvdruTkZL3++uuqVKmSHn/8cUnm3FCzZs1Sw4YN1bx5cyUlJenVV1+95uEGrvjss8/k4+Ojnj17aseOHfr73/+uFi1a6J577inyOW+88YY6duyoTp066c9//rPq1KmjrKws7d27V19++aW+/fbbK153+/btjvlq0tLStHr1an3wwQfy9vbWggULnHodunpf8odMvfHGGxo8eLB8fX3VoEEDVa5cuVj3tkOHDnrrrbc0cuRI3XDDDXrkkUfUpEkTx6eP8+fPlySFhIRcsa2reT35ruVndLVK4nfv//7v/3TTTTepZ8+eevLJJ5WXl6dXXnlFwcHBOnHixGWf+8gjjygkJERt2rRRZGSk0tPT9e9//1vz5s3TX/7ylxLtlZr/u3mpunXrFnndF154Qbfccot69+6txx9/3JHUVapUqcBrdcf752okJCSoefPmmjJligzD0JAhQwqcczUxTZ48WR07dlTbtm31zDPPqF69ejp69Ki++OILvfPOO6pcuXKR78WJEyeqZ8+e6tq1q8aMGSM/Pz9NmzZN27dv16effson9ABQBpHnFkSeS55blICAgEILxbNmzZK3t7dbi8iFIc8tOiZXclyp6PcieS7gBtatfQVPNG/ePGPAgAFG/fr1jUqVKhm+vr5GbGysMXDgQGPnzp2O806ePGkMGTLEiIiIMIKCgoyOHTsaq1evNjp37mx07tzZcV7+CoDHjh1zuk5Rq0B27tzZaNKkidOx/DaSkpKMvn37GpUqVTIqV65s3HfffcbRo0cd5xW2oqNhGMa+ffuMhx56yKhRo4bh6+trVK9e3Wjfvr3x4osvXvZeXLqSpJ+fnxEREWF07tzZmDBhQqGrJ7p6XwzDMMaOHWvExMQYXl5ehiRj+fLlV91GUZKTk40HH3zQiIuLM/z9/Y2AgACjXr16xqBBg4xvvvmm0Pt76c/oamJx9Wd0uesV9fMrbkyuXueLL74wmjdvbvj5+RmxsbHGyy+/7GjjcmbOnGl06tTJCA8PN3x8fIwqVaoYnTt3Nj766KPLPq84LrfKqSTjvffeK3Duxa93wYIFRrNmzZxe62OPPWZUrVq1wLVcef8U92d6sTfeeMOQZDRu3LjIc67mPb1z507j7rvvNqpVq+Z4vQ888IBx/vx5xzlFvRdXr15tdOvWzQgODjYCAwONdu3aGV9++WWBa1zuPQQA8Bzkub8jzyXPdSXPLUxRv9/u4mqeW9RrrSh5ris5rmEUL88lxwWKZjOMS5ZpBDzMuHHjNH78eB07dqzQeQphPX5GZduFCxfUsmVL1ahRQ0uXLrU6HAAAKgxyKM/Hz6hsI88FUBIY5g8AFcyQIUPUs2dPRUdHKzU1VW+//bZ27dqlN954w+rQAAAAgGtGngugNFBMBYAKJisrS2PGjNGxY8fk6+urG264QYsWLVKPHj2sDg0AAAC4ZuS5AEoDw/wBAAAAAAAAwAVeVgcgmfPQ2Gw2py0qKsrxuGEYGjdunGJiYhQYGKguXbpox44dTm1kZ2dr5MiRCg8PV3BwsG677TYdOnSotF8KAAAA4ECeCwAAUL54RDFVkpo0aaKUlBTHtm3bNsdjkyZN0uTJkzV16lRt3LhRUVFR6tmzp7KyshznjBo1SgsWLNDcuXO1Zs0anT59Wrfeeqvy8vKseDkAAACAJPJcAACA8sQjhvmPGzdOn3/+uZKTkws8ZhiGYmJiNGrUKD399NOSzE/nIyMj9corr+jRRx9VRkaGqlevro8++kj9+/eXJB05ckS1atXSokWL1Lt379J8OQAAAIAk8lwAAIDyxmMWoNqzZ49iYmLk7++vtm3basKECbruuuu0b98+paamqlevXo5z/f391blzZ61du1aPPvqokpKSdOHCBadzYmJi1LRpU61du7bIJDM7O1vZ2dmOfbvdrhMnTqhatWqy2Wwl92IBACiHDMNQVlaWYmJi5OVVeoNfzp8/r5ycHLe26efnp4CAALe2iYqLPBcAgLKtIue506ZN06uvvqqUlBQ1adJEU6ZMUadOna74vO+++06dO3dW06ZNC/1QuSzziGJq27ZtNXv2bF1//fU6evSoXnzxRbVv3147duxQamqqJCkyMtLpOZGRkdq/f78kKTU1VX5+fqpatWqBc/KfX5iJEydq/Pjxbn41AABUbAcPHlTNmjVL5Vrnz59XXO0qSk3LvvLJVyEqKkr79u2joIpiI88FAKD8qGh57rx58zRq1ChNmzZNHTp00DvvvKM+ffpo586dio2NLfJ5GRkZGjRokLp3766jR4+6M3yP4BHF1D59+ji+b9asmRITE1W3bl19+OGHateunSQV+ATdMIwrfqp+pXPGjh2r0aNHO/YzMjIUGxurgwcPKiQk5FpeCgAAFVZmZqZq1aqlypUrl9o1c3JylJqWrf0/3KSQyu5JazKzclW7xWLl5ORQTEWxkecCAFD2VdQ8d/LkyRoyZIgefvhhSdKUKVO0ZMkSTZ8+XRMnTizyeY8++qgGDBggb29vff75526J3ZN4RDH1UsHBwWrWrJn27NmjO+64Q5L5qXx0dLTjnLS0NMen+FFRUcrJydHJkyedPrVPS0tT+/bti7yOv7+//P39CxwPCQkhyQQA4BpZMYS4UmUvVars7Za27LK7pR2gMOS5AACUXeUlz83MzHQ6XljekJOTo6SkJD3zzDNOx3v16qW1a9cWeY0PPvhAP//8s+bMmaMXX3zRLXF7mtKb6OEqZGdna9euXYqOjlZcXJyioqK0bNkyx+M5OTlauXKlI4GMj4+Xr6+v0zkpKSnavn37ZZNMAABQPtjd/B9QUshzAQDA1SiJPLdWrVoKDQ11bIX1Mk1PT1deXl6h0xEVNdXQnj179Mwzz+jjjz+Wj49H9t90C494ZWPGjFHfvn0VGxurtLQ0vfjii8rMzNTgwYNls9k0atQoTZgwQfXr11f9+vU1YcIEBQUFacCAAZKk0NBQDRkyRE8++aSqVaumsLAwjRkzRs2aNVOPHj0sfnUAAACoqMhzAQCAp7l02p/CRrPkc3U6ory8PA0YMEDjx4/X9ddf775gPZBHFFMPHTqk++67T+np6apevbratWun9evXq3bt2pKkp556SufOndOwYcN08uRJtW3bVkuXLnWaq+If//iHfHx8dM899+jcuXPq3r27Zs2aJW9v93SFBgAAnsv+2+autgB3Ic8FAADFURJ5rivT/oSHh8vb27tAL9SLpyO6WFZWljZt2qQtW7ZoxIgR5vXsdhmGIR8fHy1dulTdunVzy+uwms0wDMPqIDxFZmamQkNDlZGRwVxSAABcJSv+Hc2/ZuovvRRS2dc9bWZdUNR1S8kHUK6Q5wIAcO0qap7btm1bxcfHa9q0aY5jjRs31u23315gagC73a6dO3c6HZs2bZq+/fZb/ec//1FcXJyCg4Pd8jqs5hE9UwEAAAAAAAB4jtGjR2vgwIFKSEhQYmKi3n33XR04cEBDhw6VJI0dO1aHDx/W7Nmz5eXlpaZNmzo9PyIiQgEBAQWOl3UUUwEAQJmXZxjKc9NgG3e1AwAAABSXlXlu//79dfz4cb3wwgtKSUlR06ZNtWjRIsd0RSkpKTpw4IBbYitLKKYCAAAAAAAAKGDYsGEaNmxYoY/NmjXrss8dN26cxo0b5/6gLEYxFQAAlHnGb/+5qy0AAADAE5Dneh6KqQAAoMzL+21zV1sAAACAJyDP9TxeVgcAAAAAAAAAAGUBxVQAAFDmGfp9CFTx/7t606ZNU1xcnAICAhQfH6/Vq1df9vzs7Gw9++yzql27tvz9/VW3bl3NnDnzml47AAAAyi+r81wUxDB/AACAYpg3b55GjRqladOmqUOHDnrnnXfUp08f7dy5U7GxsYU+55577tHRo0c1Y8YM1atXT2lpacrNzS3lyAEAAABcLYqpAACgzLMbhvIM93zWbr/KdiZPnqwhQ4bo4YcfliRNmTJFS5Ys0fTp0zVx4sQC5y9evFgrV67UL7/8orCwMElSnTp1ih03AAAAyh8r81wUjmH+AACgzDPcvElSZmam05adnV3gujk5OUpKSlKvXr2cjvfq1Utr164tNNYvvvhCCQkJmjRpkmrUqKHrr79eY8aM0blz54p1DwAAAFD+lESei+KhZyoAAEAhatWq5bT//PPPa9y4cU7H0tPTlZeXp8jISKfjkZGRSk1NLbTdX375RWvWrFFAQIAWLFig9PR0DRs2TCdOnGDeVAAAAMDDUUwFAABlXp4M5bnps/b8dg4ePKiQkBDHcX9//yKfY7PZnPYNwyhwLJ/dbpfNZtPHH3+s0NBQSeZUAX/4wx/01ltvKTAwsLgvAQAAAOVESeS5KB6KqQAAoMyzG+bmrrYkKSQkxKmYWpjw8HB5e3sX6IWalpZWoLdqvujoaNWoUcNRSJWkRo0ayTAMHTp0SPXr1y/eCwAAAEC5URJ5LoqHOVMBAACukZ+fn+Lj47Vs2TKn48uWLVP79u0LfU6HDh105MgRnT592nHsp59+kpeXl2rWrFmi8QIAAAAoHoqpAACgzLO7ebsao0eP1vvvv6+ZM2dq165deuKJJ3TgwAENHTpUkjR27FgNGjTIcf6AAQNUrVo1Pfjgg9q5c6dWrVqlv/zlL3rooYcY4g8AAAAnVua5KBzD/AEAAIqhf//+On78uF544QWlpKSoadOmWrRokWrXri1JSklJ0YEDBxznV6pUScuWLdPIkSOVkJCgatWq6Z577tGLL75o1UsAAAAA4CKKqQAAoMyzyya7Cl/w6VraulrDhg3TsGHDCn1s1qxZBY41bNiwwNQAAAAAwKWsznNREMVUAABQ5jExPwAAAMoj8lzPw5ypAAAAAAAAAOACeqYCAIAyj+FPAAAAKI/Icz0PPVMBAAAAAAAAwAX0TAUAAGWeXe77pN3ullYAAACA4iPP9TwUUwEAQJlnyH3JIfPyAwAAwFOQ53oehvkDAAAAAAAAgAvomQoAAMo8JuYHAABAeUSe63nomQoAAAAAAAAALqBnKgAAKPPy5KU8N31G7K52AAAAgOIiz/U8FFMBAECZZxg2GYZ7hi25qx0AAACguMhzPQ8laQAAAAAAAABwAT1TAQBAmZf32+autgAAAABPQJ7reSimAgCAMs9ueMluuGfAjbvaAQAAAIqLPNfzcBcBAAAAAAAAwAX0TAUAAGWeXV6yu+kzYne1AwAAABQXea7n4S4CAAAAAAAAgAvomQoAAMo8+2+bu9oCAAAAPAF5ruehmAoAAMo8u+GlPCbmBwAAQDlDnut5uIsAAAAAAAAA4AJ6pgIAgDLPkE2GbG5rCwAAAPAE5Lmeh56pAAAAAAAAAOACeqYCAIAyL0825bnpk3Z3tQMAAAAUF3mu56GYCgAAyjy74eW2CfWZmB8AAACegjzX83AXAQAAAAAAAMAF9EwFAABlnl1esrvpM2J3tQMAAAAUF3mu56GYCgAAyjz7b5u72gIAAAA8AXmu56EkDQAAAAAAAAAuoGcqAAAo8xj+BAAAgPKIPNfzcBcBAAAAAAAAwAX0TAUAAGWe3bDJbrjpE3vD5pZ2AAAAgOIiz/U8FFMBAECZZ5dNdrknOXRXOwAAAEBxked6Hob5AwAAAAAAAIAL6JkKAADKPLthU56bhi0x/AkAAACegjzX89AzFQAAAAAAAABcQM9UAABQ5hnykuGmz4jd1Q4AAABQXOS5nodiKgAAKPPy3Dj8yV3tAAAAAMVFnut5KEkDqHDOnz+vw4cPKyMjw+pQUIHk5eUpJSVFaWlpMgzD6nAAAEA5dOHCBR05ckTp6enkGyg1hmEoLS1NKSkpysvLszocoMTRMxVAhZGenq7p06frsy+/VNbZs/Lx8lKXDh3056FD1aJFC6vDQzl14cIFffjhh5ozd64Op6bKZrOp8fXX66HBg9W3b1/ZbHw67A6GbDLknnvprnYAACgt58+f14wZMzT347lKO3pMNptNLW9ooYcfeVg9evSwOjyUU4Zh6IsvvtCcj2Zq375dkmEoIrKW/nD3HzVo0CD5+FBycgfyXM/DbzaACiEtLU1/HDxYPx49qqoJNyi6VqyyM05pyfcbtfqBB/T2m2+qU6dOVoeJciY3N1dPjB6tL5Z/q+CmTRXZqYPsF3K144cf9PjYZ3TgwAGNGDHC6jABAEAZlp2drUcfHao1y75TlHctNanUWrn2HP24+mcN2zhcfxv/rAYNGmR1mCiH3nzzTX304RR17eCnPw+MlJ+vl1Z+d1TvTh+vrVuT9frr/5C3t7fVYQJuRzEVQIXw5ptv6se0o2r0yMPyDw11HI9o2VI/fjpXf33uOX2zZIn8/PwsjBLlzcKFC/XlN9+o9n39VbVePcfx8CaNdXDVar35zjvq2bOnGjRoYGGU5UOe4aU8wz2zF7mrHQAASsO8efO0ZtkaJYTdqGqB1R3Ha1Sure3HtuiVlyapR48eiomJsTBKlDc7d+7URx9O1ahHwzXgrlqO4+3bVFPnDsc16m//1Vdf9dKtt95qYZTlA3mu5+EuAij3MjMz9d+vvlJ4u7ZmIdVu13X7fpVPTo68vL1Vp1dP7U9N1cqVK60OFeXM3H/9S351ajsKqdWPHVPY8eOSpJodO+i8v78+++wzK0MsN+yyuXUDAKCsmPvJXIXZIh2F1OizxxSQe142m02NwpvrfGaOPv/8c2uDRLkzf/58RUVc0L131jQPHD8v7c2SZBZU28X7af78eRZGWH6Q53oeiqkAyr0jR47ozPnzCo2LkyTVPnhItQ4dUpstWxR2/LiCIiLkFRSoX3/91dpAUe7s2feLKtWp4yjgN/5xtxrv/kkB58/L5uUl/5o1tPeXX6wOEwAAlFG5ubn6dd9+hQdFSpKqZGeq5tk0Ncn4RdXPHZePl4+CjcrkuXC7/ft/VqumAfLyskk/Z0krjklbTkqp5yRJNzQP0f5f91gcJVAyKKYCKPeCgoLkbbMpJ9P8pPR41So6Fxgo35wLarZzl+ru/FHG2XMKDg62OFKUN5WDK0knTqjF9h2qdeiQJOloRHWd/206ibzTp1W5UiUrQyw3+MQeAFAReXt7KyDAX+dzzQLWWe8AnfYNkpdhqM6ZVF1/ap+8jfPkuXC7oKDKSk/PkTYelzaflOyGFBEghflLko6fyFFQEHmuO1id506bNk1xcXEKCAhQfHy8Vq9eXeS5n332mXr27Knq1asrJCREiYmJWrJkSXFevkeimAqg3KtVq5aaNWqkoxs3yjAMnQ4J0aaWLZQSaX6CH/z9et1y9qy6Nm9ucaQob/7QsaMSNmxQSHq67N5e+vH6+tpTr57k5aUzR48q9/AR9WSFXbewy8utGwAAZYHNZtMtt92iw+f2K8+epxwfP+0KjdOhoAgZkrzOpqhj7nH1adzY6lBRzvRq30G+q7N0LOmEeaBhiNQ5QvLz0unTufrqmwz16Ml8qe5gZZ47b948jRo1Ss8++6y2bNmiTp06qU+fPjpw4ECh569atUo9e/bUokWLlJSUpK5du6pv377asmWLO26Fx+CvBQDlns1m0/ChQ2U7eEh7//uFck6flt3HRz9eF6dvLlzQsZ0/qnt8vKJ/+EFKTpbsdqtDRnmwZ48GVKumKB9f7V23XmuionU0MlKGYejUL79ozyefqmXDhurZs6fVkQIAgDJs0KBBCq4eoPVHVigrO1OSdCQwXN96+2v7mZ/V8Po4JZw7J333nZSba3G0KBeOHFGv3FzFVa2pWf9J0bZQPxlNzUV+9/5yWo8/u0OGV4z69+9vcaAorsmTJ2vIkCF6+OGH1ahRI02ZMkW1atXS9OnTCz1/ypQpeuqpp9S6dWvVr19fEyZMUP369fXll1+WcuQly8fqAACgNHTv3l2vvPCC/u/ll7VzyhvyqVJVeWfOyD8vT23++Ef17dZNOnpU2r5dSkmROnSQQkKsDhtlkd0ubdgg/fyzqlapogefekpD583T7o8/lldoqIzcXHmdPafE5s315pQp8vttyD+Kx27YZDfcMzzfXe0AAFAa6tevr3dmvK0nnxijNb8uVYCClGu/IJu/oY59e+j+QQPldfSotG+flJZm5rkREVaHjbJq+3bphx/kJ2nwyFEa88Vn+vdr21T9gyPy8/PS4RS7IiLraupbbyo6OtrqaMuFkshzMzMznY77+/vL39/f6VhOTo6SkpL0zDPPOB3v1auX1q5d69r17HZlZWUpLCysGFF7HoqpACqMfv36qUePHlq8eLEOHTqkSpUqqVevXqpTp455wp490ubN0vHj0sKF0g03SA0aWBozypjTp6VVq6QTvw13atpU17VsqYUPPKAVK1Zo+/bt8vb2VmJiohISEmSzUbQDAADF16ZNG32z/Gt9/fXX+vHHH+Xv769OnTqpWbNmZr5x5Ii0bp105oy0dKnUuLHUsqXkxWBVuCg3V1qzRvptHQDVqaOwdu00Y9Agbdy4UevXr1deXp6aNWumLl26yMeHcpMnq1WrltP+888/r3HjxjkdS09PV15eniJ/mx4vX2RkpFJTU126zuuvv64zZ87onnvuKVa8nobfbgAVSkhISNH/I69fX4qOllavNguqGzdKhw9L7dtLAQGlGyjKniNHzAQzJ0fy9ZUSE6XYWEmSr6+vevbsyZD+EmS4ceEogwWoAABlkJ+fn26++WbdfPPNBR+MiZH69pXWr5cOHJB27jRzl44dpSpVSj1WlDGnTkkrV0pZWZLNZnY6adRIkmSTWcxv06aNpSGWZyWR5x48eFAhF43EvLRX6sUu7QBiGIZLnUI+/fRTjRs3Tv/9738VUc56w1NMBYCLVaok9e5tDl/Zts1MMr/4QmrXzlEYAwrYvt2cb1cyp4fo0oVpIkqZ3fCS3XBP7xp3tQMAgEfx85NuvNEc7v/992aB7KuvpObNpSZNrI4Onmr/frMIf+GC2cGkY0cpKsrqqCqUkshzQ0JCnIqphQkPD5e3t3eBXqhpaWkFeqteat68eRoyZIj+/e9/q0c5XHCXvxYA4FJeXmZS2aePWRDLyTGHbjNpPy6VkyOtWPF7IbVOHenmmymkAgAAzxUXZ/ZSjYyU8vKkLVukZcuks2etjgyexG6XNm0yR+1duCBVq2bmuRRSKww/Pz/Fx8dr2bJlTseXLVum9u3bF/m8Tz/9VA888IA++eQT3XLLLSUdpiXomQoARQkLMxOGLVuk3buZtB/OLjPcCaXP/tvmrrYAACjXgoKknj2lHTukrVvNhVj/9z+pdWuz2IqK7fx5s4h69Ki536CBFB/PHLsWsTLPHT16tAYOHKiEhAQlJibq3Xff1YEDBzR06FBJ0tixY3X48GHNnj1bkllIHTRokN544w21a9fO0as1MDBQoaGhbnoV1qOYCgCX4+NjJpU1avw+af+yZWbRjEn7K65LhzvdeCMFdgAAUPY0aWLmuWvWmB8Uf/eduWZAmzbmtACoeNLTzQ4D585J3t7m70LdulZHBYv0799fx48f1wsvvKCUlBQ1bdpUixYtUu3atSVJKSkpOnDggOP8d955R7m5uRo+fLiGDx/uOD548GDNmjWrtMMvMVQBAMAV+ZP2x8ZKhmFO2r94sZl0ouIoargThVTL2Q2bYz6p4m9XP8H/tGnTFBcXp4CAAMXHx2v16tUuPe+7776Tj4+PWrZsedXXBADALapUMfOZhg3N/V9/lb78UnJxtW6UI7t3S0uWmIXU4GBzLQkKqZazOs8dNmyYfv31V2VnZyspKUk33nij47FZs2ZpxYoVjv0VK1bIMIwCW3kqpEr0TIWFTp8+rVWrVunUqVOKiYlRhw4d5Ovra3VYQNHyJ+3/+WezoHbihDlpf8uWDO+uCM6fNz+lP3bM3Ge4k0excgGqefPmadSoUZo2bZo6dOigd955R3369NHOnTsVe5mF6zIyMjRo0CB1795dR/OH0QEoF3JycrRmzRqlpqaqSpUq6ty5s4KDg60OCyial5eUkCDVrPn7aKyvvybfqShyc6UNG8xpzSSzI0nHjvRO9hAstOp5PPIuTpw4UTabTaNGjXIcMwxD48aNU0xMjAIDA9WlSxft2LHD6XnZ2dkaOXKkwsPDFRwcrNtuu02HDh0q5ehxJYZhaMaMGercsYuGPzxCf3vyOQ3548Pq0a2nvv32W6vDA66sbl3plluk6tXNSfuTkqRvvmHS/vIsLU1auNAspHp7m/Pmtm7NHxaQJE2ePFlDhgzRww8/rEaNGmnKlCmqVauWpk+fftnnPfrooxowYIASExNLKVJ4AvLc8m/JkiXqflMvDXn8z/rra/+nPz89Sp17dtfs2bNlGIbV4QGXFxVl5rn586bu3m3OpXrihLVxoeScPm2OuMsvpDZvLnXrRiEVuAyP+ytw48aNevfdd9W8eXOn45MmTdLkyZM1depUbdy4UVFRUerZs6eysrIc54waNUoLFizQ3LlztWbNGp0+fVq33nqr8vLySvtl4DJmzJihCeNeVuCJKuoScYtuqnmX2lXtpqyfz2vE0JH67rvvrA4RuLJKlcxhL61amYsPX6EOfAAAhm9JREFUpaSYieb+/VZHBnfbvducJ/fi4U4szOBx7G7eJCkzM9Npy87OLnDdnJwcJSUlqVevXk7He/XqpbVr1xYZ7wcffKCff/5Zzz///DW/ZpQ95Lnl3/Lly/X4008qo5a/Wj4/QDdOHaE2Lz8kJcRo/GsT9dFHH1kdInBlfn7mB8edOpnfZ2aao7G2b7c6MrjbkSPSokXm1GV+flKXLmYxFR6lJPJcFI9HFVNPnz6t+++/X++9956qVq3qOG4YhqZMmaJnn31W/fr1U9OmTfXhhx/q7Nmz+uSTTySZQ+VmzJih119/XT169FCrVq00Z84cbdu2TV9//bVVLwmXyMzM1LQ3pyvaVlvNI+MV6BskSQoNqKq2MTfKJ9NfU/7xBp/ao+xo0kTq08ecayonx5xLc80a83uUbbm55iIMGzea8+TGxJg9NcLCrI4MhbDLy62bJNWqVUuhoaGObeLEiQWum56erry8PEVGRjodj4yMdKxeeqk9e/bomWee0ccffywfH2ZcqijIc8s/wzD0j3++Ia/rq6vFI31VOSZckhRYtbIa39tdVTs30j/fmaazjGRBWVG7tnTrrVJ0tJkLJSeb82mePm11ZHCHrVulb781/27Jnze3Zk2ro0IhSiLPRfF41F0cPny4brnlFvXo0cPp+L59+5SamurU68Pf31+dO3d29PpISkrShQsXnM6JiYlR06ZNi+wZkp2dXaDXCUrWypUrdfLYKV1frbEkKSQnS01P/SyfvBzZbDZdV6Whtm7eqn35QwyAsiAsjEn7yxuGO0HSwYMHlZGR4djGjh1b5Lk2m/Nk/oZhFDgmSXl5eRowYIDGjx+v66+/3u0xw3OR55Z/u3fv1q69P6lOrwTZbDYFZp1V87XbFXLcvPdxvVrrWOZJrVmzxuJIgasQFCR1727Om+rtbU55tHChuYYAyqacHLOIunWruV+njnTTTebIOwAu8ZjuEHPnztXmzZu1cePGAo/l9+worNfH/t+G1KampsrPz8/pk/78c4rqGTJx4kSNHz/eHeHDRadOnZKXvBXgEyhJqnk2TYG551X39GHtDo1TJb8Q5Z3N0ylWSEdZc/Gk/d99Zw4J//prs8B6ww3MrVmWHDokrV1rJpp+flL79nxKXwbYZbum1UmLakuSQkJCFBISctlzw8PD5e3tXSDXSEtLK5C3SFJWVpY2bdqkLVu2aMSIEeb17HYZhiEfHx8tXbpU3bp1c8vrgOcgz60YTp06pVzDrqAI8+dUY1+qgjPPqt72X5Sc2FSB1UJkeNvIc1E2NWok1ahhjsA6ccJcpOrwYaldOz5sLktOnTIXVM3KMqcqu+EGFtItA0oiz0XxeMRf9wcPHtTjjz+uOXPmKCAgoMjzXO314eo5Y8eOdepxcvDgwasPHlclOjpahpddWdkZkqRfKtWQ3WZTyIWzijx7TCfPpcvHz0dRUVEWRwpco6goqW9f8xNeSfrxR3MeIibtLxu2bpVWrGC4E1zm5+en+Ph4LVu2zOn4smXL1L59+wLnh4SEaNu2bUpOTnZsQ4cOVYMGDZScnKy2bduWVugoJeS5FUd0dLR8vbyV8atZ4P6lYaxyAnzlfy5H1/14QJkH0+SdJ/JclF0hIWYPxqZNzULcgQPSF1+YH0TD8+3bZ859m5UlBQRIPXtSSAWukUcUU5OSkpSWlqb4+Hj5+PjIx8dHK1eu1JtvvikfHx/HJ/WX6/URFRWlnJwcnTx5sshzLuXv7+/odeJK7xMU34033qgataO1M/0HGYah8z4BOhRk/nyiz6TqaMZ2de5+o2JiYiyOFCgGPz+pY8ffJ+0/dcpMXC5ZmRkehOFOZZ5dNrduV2P06NF6//33NXPmTO3atUtPPPGEDhw4oKFDh0oyi1qDBg2SJHl5ealp06ZOW0REhAICAtS0aVMFBwe7/d7AWuS5FUft2rWVeEMb/broe+VlX5Ddz0d7m5gLFlY/nKYzn3yt2KgahX7QApQZXl5Sy5ZmIS44WDp/3vwgesMGc755eB673VwD4LvvpLw8qXp1cy7ciAirI4OLrMxzUTiPKKZ27969QC+NhIQE3X///f/f3n3HR1Vn/x9/TzotE0IIMXQR6UV6AAUBKYq4uLvC4qJrQVlEF7vo+pMtisvXRVRWZNW1gaC7igJiAJWm9ACGZkQEAUnoJBAS0u7vj48TCARImZk75fV8PO4jmcnNzcloyMnnns852rRpky6//HIlJCSUqPrIy8vTsmXLipORjh07Kjw8vMQ56enp2rJlCwmLD4mIiNCfn/mzsqse1zf7vlLGyf3aGRqunXmZ2nE0VVfXKNLDDz5od5iAe5zbtH/jRpr2+yLXYvf+/abKonNnsxjOYCC/Yllm+5M7Dquc26iGDRumKVOm6K9//avat2+v5cuXa8GCBWrYsKEkk4/s2bPHE982/AB5bnB5/NFHFZ1ZpLXPz9L+Ndu1v8jS9vx8/fj5WrX6do8mPPgwg+cQGOLjzW6sJk3M4x07TC/Vw4ftjQsl5eZKixdLaWnmcbNmZiH8Ijsl4HvszHNROp/4TV6jRg21bt26xHPVqlVTrVq1ip8fN26cnnvuOTVt2lRNmzbVc889p6pVq2rEiBGSJKfTqbvuuksPP/ywatWqpdjYWD3yyCNq06bNeY3+Ya8BAwbotTem6aUpL2vLt2tVeLJIqZEhGt2smW4aNFCXMeEUgcTVtH/7djMB1dW0v1OnM8kn7LNrl7R6tblLX6WKqSbmLj0qYMyYMRozZkypH3v77bcv+rkTJkzQhAkT3B8UfAJ5bnBp2bKl3nvzbf3zxX/q67eX6MeiQm2WdIczTkNH9lHzyEi7QwTcJyxMSkoyvVTXrjXbxxculNq0Ma0AmBlgr4MHpRUrzCyH0FDT37ZxY7ujAgKCTyymlsVjjz2mnJwcjRkzRseOHVPXrl21aNEi1ahRo/icF198UWFhYbrllluUk5Ojvn376u2331ZoaKiNkaM0vXv3Vq9evbRjxw5lZmYqMTFRdfPyzNaDbdukxETTexIIFC1amArVlStp2u8LioqklJQzd+lr15Z69eIuvR+zFCLLTRtu3HUdoKzIcwNLy5Yt9ebrb2rv3r3KyMhQzZo11aRmTTmSk6X0dPO7p1kzu8ME3KdBA3MzeuVKs9MnNdXkuT16mD6r8L7t26UNG8zuuBo1TJ4bE2N3VKgg8lzf47Asy7I7CF+RlZUlp9OpzMxM+krZ5euvpd27Tf+dG25gkQmBp6jIVKhu326SmypVzB19+gR7T26umWJ66JB53Ly5mWRK9USl2fF71PU1J6Y8qKjq7qn4yj15WuM7vkg+gIBCnusDtmwxOUBoqMlz+e+AQLRjh1nEy8+XwsNNjtW0qd1RBY+CArPravdu8zgx0bSv4u/qSiPPxdn4yxG+pUsXs7iUnW2aZAOBJiTEJJWupv05OWbw0bp1NO33hoMHpfnzzUJqaKipmOjUiYXUAFBoOdx6AIDbtW5tdkIUFpoCgqIiuyMC3K9pU2nQIKlWLbOgumaNyXVzc+2OLPCdPCklJ59ZSG3bVurTh4XUAECe63v46xG+JSLCVOlJppfhTz/ZGw/gKec27U9LkxYsMC0A4Bnbt5sG/Lm5ZrvToEH0jQogluXeAwA8okcPU6139KjZCg0EouhoacAAs5jncJit//PnSwxj9Jx9+8zfEsePm7+p+/Qxrz8CAnmu72ExFb4nMfFMH6k1ayQGUiFQuZr2X3ONSXqyssxU+dRUqlXcqaDAVAClpJjsITHRLKTSNwoA4G3Vq5sdEZK0dSuTzxG4QkLMYt6AAeYmdm6utHy5mRvAbiz32rRJWrpUyssz+e3119NCDPAwFlPhmzp2NHc08/LML1wgkDVoIA0ZYpIeyzKLqQsXmq06qJysLLY7BYkihbj1AACPadJEqlfP/M7/5hsWlhDY4uJMj2BX39SdO6XPPjOtl1A5eXmmhcKWLeZx48bSwIHmpg0CCnmu7+FVhG8KCTGNsh2OM1NPgUAWFWUW+Tp3Nr08jxwxieaOHXZH5r/27TMLqWx3CgpFcrj1AACP6tbN/O4/cYI5AQh8YWFS165S795n/r9fvNhUVLIbq2KOHjV/K+zfb/5m7tzZtBEJC7M7MngAea7vYTEVvis2VmrXzry/YYOpMAMCXbNm5u792U37ly6laX95nb3dKTaW7U4AAN8SFWUWVCVTqbdvn73xAN5Qr540ePCZyuwtW8yNb/7OK59du8wutuxsM7x5wIAzbfIAeAWLqfBtTD1FMDq3af++faZpP39oXVpp253692e7UxAoshxuPQDA4+rVO7P1efVqbpwiOERFmQrVpKQzw9g++8wMCsXFFRWZSvZvvjF/H9epY4ow4uLsjgweRp7re1hMhe9j6imCUWlN+5cupWn/xbDdCQDgbzp2PPN7fvVqu6MBvKdJE7MQ6CqcSUmRvvyS4cMXcuqUqUZ1tb9r3lzq29csTgPwOhZT4fuYeopgdqGm/fwclLRzJ9udgpxlOdx6AIBXhIWZG3+unSj0SkcwqV7d5Gzt25+ZlTF/vvTTT3ZH5lsyMqQFC8xMhfBw6eqrzd/HISznBAvyXN/DTx/8A1NPEcxKa9q/cCFN+yXz/a9ZYyp22e4U1GjMD8BvxcVJrVqZ9zdskE6etDcewNtat5YGDTKtrvLypBUrzN98eXl2R2a/7dtNxW5urqliHzBAatjQ7qjgZeS5vofFVPiPs6eepqTYHQ3gfTTtL8m13clVxcN2JwCAv2rb1gxMzM83C0nBfrMUwSc21uS5zZubx7t2md1YGRn2xmWXggIzMyQlxeT99eqZgoGYGLsjAyAWU+FPzp56umMHw3gQnC7UtN/VPylYsN0J5yiy3Nmc3+7vBkDQCQmRevaUQkPN77Zt2+yOCPC+kBCTz/XrZ9o2ZWdLX3whrV8fXDcYsrJMnrt7t2l/0L69yf+ZAxC0yHN9D391wr8w9RQwzm3av26dmWIfDD8TW7ey3QkAEHiio6UOHcz7335rbpgCwSghQbrxRqlRI/P4u+/M4uLx43ZG5R179kiff24WVCMipGuvNW0QAPgUFlPhf5h6ChjnNu3fv1+aO9ckYYGooEBavlzauJHtTjiP5ba79TTmB2CjZs2kxETze+7rr5kTgOAVEWGqtXv0MO8fP24WGbdutTsyz9m0yeS6+fmm7cH115t/DxD0yHN9D4up8D9MPQVKOrdp//LlgTeozbXdac8etjuhVJYcbj0AwDbdu5vFo6wscwMRCGaNG5teqnXqmN1YGzdKixeb3vmBIi/P7LrassU8btJEGjjQFE4AIs/1RSymwj8x9RQoyXX3ulkz83jXLmnePOngQXvjcge2OwEAgsnZcwLS0szOEyCYVa0qXXed2aEYGiodOGDy3F277I6s8lzzD9LTzffWtauZjcAcAMCn8RMK/9W2rVSrltkG8c03wdWUHChNWJjUubPUp8+Zpv2LFpkbDv7688F2J5RRkRxuPQDAVg0amIo8SVq1ylSuAcGuRQuzGysm5szfgMuX++/Px86d0sKFJmevUsUsGLvmgwBnIc/1PSymwn+FhJjt/qGh0qFDTD0FXBITTdP+Bg3M423b/K9pP9udAADBrmtXqVo1KSeHOQGAS0yMubnesqV5vGePqVL1pwruoiJpzRpzo6Sw0LQwuOEGs/sSgF9gMRX+jamnQOkiIqRrrjE3HMLDzzTt377d7sguje1OqAB3NeV3HQBgO9ecAMksGAXClmbAHUJCzN+A/fufueHw1VfSunW+vxvr1ClTjeqa+9GypdS3r2nvAVwAea7v4S9T+D+mngIX1rixqVJ1Ne1PSfHtpv1sd0IFWb9MJ3XXAQA+IT7+TAXe2rW++/sbsEN8vMlzXS0x0tKk+fN9t8AmI8PsFjtyxBQ7XHONWRSmYACXQJ7re/ipRWBg6ilwYa6m/VdddaZp//z5vlXhwnYnAABK1759yR6RAM5wVXBfffWZvwc///xMqyhfsXWraWGVm2t2Vw4adKYlFwC/w2IqAgNTT4FLa9XqTNP+vDzzB9nXX9vftJ/tTnADtj8BCFghIVLPnmduiG7dandEgO9p2FAaMkS67DKzY3HTJpNfnjxpb1wFBWZI1saNJq4GDUzP1+hoe+OCXyHP9T0spiJwMPUUuLRzm/bv3m2a9mdk2BMP253gJpYcbj0AwKfExEht25r3U1P9a6gk4C1RUeaGfOfOZ4YUf/aZaSNlh6wsk+fu2SM5HGaX2DXXmGpaoBzIc30Pf60isDD1FLg0V9P+fv3O/Lx88YW0fr13m/az3QkAgLJr1epMD/Svv/b9QTuAXZo1M+2iYmNNe4xVq6SlS03O6S179ph2A1lZZxZ5W7Xy3tcH4FEspiKwMPUUKLuEBJNouiq6v/vOO0372e4ED2D7E4Cg0KOH6Qt5/LjZxgygdNHR0sCBUuvWpip03z6T5+7b59mvW1Qkbdhgct38fKlWLZPnJiR49usioJHn+h4WUxF4mHoKlF1EhHeb9rPdCQCAiqta1WxhlqRt2+xr0wP4g5AQM8BtwACpRg1Tmbp0qRl6WlDg/q+Xm2t2XW3bZh43bWq+dtWq7v9aAGzFYioCE1NPgfJp2FAaPNizTfvZ7gQPKnLzAQA+q3FjqVEj8z5zAoBLi4szu7GaNjWPd+wwvVQPH3bf1zh82OS5Bw6Yfq1JSaYFHXMA4Abkub6Hn2wEJqaeAuVXtapnmvaz3QleYFkOtx4A4NO6dJGqVJGys6V16+yOBvB9YWFmcbN3b3NT/8QJUziQmlr5/sM7dkiLF5ufx2rVTDVqkyZuCRuQyHN9EYupCFwxMaZCVWLqKVAepTXtX768YpUvbHcCAMD9IiJM5ZtkZgT89JO98QD+ol49sxurXj2zGys11SyqZmWV/1pFRSZPXrPGDIa77LIzOTSAgMZiKgJbixZMPQUq4tym/Xv2SHPnlq9p/+HDprKV7U7wAhrzAwg6iYnmBqhkFnOYEwCUTVSUqVDt2lUKD5eOHDE5a1pa2a9x6pSUnHxmB1fr1maHV0SER0JGcCPP9T1M/EDg69HDTG50TT3t0MHuiAD/4Gran5hoeg9nZ5um/U2bSh07ygoN1bp165ScnKyjR48qISFBQ4YMUcuWLc12p/XrzY2MatWkXr24Sw8AgLt17Cilp5uqulWrzGIOgLJp2tRUk65YYRZU162Tfv5Z6t5diorS999/r08++UT79++X0+nUwIED1bVrV4VkZJhCnbw8sxiblCQ1aGD3dwPAi1hMReBzTT395huz1TgxkV6NQHnEx0s33mgSzJ07pR07lLdnj55KTtZHq1eryBmt0JgYFXzztd58912N79FDf7j6aoWEhJgE9eqruUsPL3DIkrvutHPHHoCfcM0J+Pxzs6ialnamWhXApVWvblpQbdsmffuttH+/rE8/1bRNm/TSgrnKrx6mqPq1lL/lhGbM+VC3Nm2hJ28YrKiICLOTq3dv8xbwKPJcX8NiKoJD48bmLuPu3eau/Q03sLgDlEdYmLnrXreutHatPp05Uznr16vH9YN0/OqecoSGKvLUKV02b76+/ewzLbMsXTt27Jm+xYCHuXPbEtufAPiV2FipXTuzA2vDBnMjk8UdoOxCQsw2/cRE6euvtfLzz/X9/E/UZ0AHZY/oK0VFypGfrzpzv1HWxyv1UU6ubn3ySalbN5MjAx5Gnut7aFyH4MHUU6DyGjTQwS5dND/1W8W0bK72oaHquHmz6u/erY6pqWqYmKiwyxtrSmqq8lq2tDtaAACCQ+vWUu3azAkAKiM2VgX9++vdDetV7YoEtU2MU4c125Xw/V61X7VdjatVVVzXZprx4/fa27AhC6lAEGMxFcGDqaeAW6zauFFfhkcovU8fFYaGqk3qZt3x/mw12fmjTlWtqrTrByn15Elt2bLF7lARRIos9x4A4Hd69DD9G48eNRPKAZTb9z/+qC9zTmrvr3oqLypcl+3cr9+/+olardmmgtBQ/XxLb22LCtPKlSvtDhVBhDzX97CYiuDC1FOg0vLz82U5pIP16ml9+3aqlntaoUWFqpaTo0KHFBIRoSJZys/PtztUBBHrl15S7joAwO9Ury516mTe37pVOnzY3ngAP1RQUCBL0onLamlj9zYKLSyUo8hStROnJIfkCA9TSGio8vLy7A4VQYQ81/ewmIrg07Gj6SOVl2f6pwIolxYtWigqNFTHdvyg3KpV9dptv9fy7kna2rKFamSfUqvFi9W+yNIVl19ud6gAAASXJk2kevUkyzLDVwsK7I4I8CuNGjVSjaiqOvjtThVFhGnuqBu1bHA3bejRRmEFhWo8d6U6HM9Wi6ZN7Q4VgI1YTEXwcU09dTjOTD0FUGYtW7ZUl3bttW/xYuWdzFZRVJS+7NNH69q31wFZOpX2vX7XtKlqrVsnHT9ud7gIEq7G/O46AMBvdesmRUVJJ05IKSl2RwP4lejoaA29YYj2L96oEz+b6u61/btoY692yoippozV29UzNk4d9++X9u+3OVoEC/Jc38NiKoKTa+qpZKaeZmXZGw/gRxwOhyY++6waREZp27/+pZ0LPlf62nXavGixZq/4WrlXNNUNN91kerZ99pmZLswgDAAAvCMqyiyoStKOHdK+ffbGA/iZBx98UB0bt9TG52Yr9T+fa8/STdo8b6Xe+3CFfqhWS7fcdrscp05JX31lKsDZ8g8EHRZTEbyYegpUWKNGjfS/2bP14O1/UM29+5S9ZInqZmbpz/c/oBfmzFGN4cOlyy4z2wy3bJHmz6d3GzzKshxuPQDAr9WrJ7m2Ia9eLeXm2hsP4Eeio6P1zn/e0v+7/1HVySjUof+uUfjGDP3x17dp2sefqO6995qWGpIZbDx3rrRnj71BI6CR5/qeMLsDAGzVo4epnHNNPW3f3u6IAL8RHx+vBx98UA8++KAsy5LDcc4v5r59pZ07zRbDrCxp4UIzAK59eymMXz9wL3c21KcxP4CA0LGjlJFhtvuvXi317m13RIDfqFatmu68807deeedpee5SUlS48ZmBkd2trR8udSggdSli6kOB9yIPNf3UJmK4MbUU8AtzkswXZo0kYYMOTMM47vvzA2MjAzvBggAQLAJCzOFAw6H2eq/Y4fdEQF+6YJ5bkKCdOONplhAMtWpc+eaYgIAAY3FVICpp4BnRUWZapirrz4zEOOLL6Q1a/h5g9sUSSqy3HTY/c0AgLvExUmtWpn3N2yQTp60Nx4g0ISFSZ07S/37S9HRpn/qqlWmn+qpU3ZHhwBBnut7WEwFJKaeAt7QsKGpUm3c2DzesUP69FMGYwAA4Elt25rhq/n5pnCAOQGA+8XHS4MHm7kcDoe0f780b56UlmZ3ZAA8gMVUQGLqKeAtERFmy2Hv3lKVKlJOjrR0qRkCxyRUVAKN+QHgAkJCpJ49pdBQ6dAhads2uyMCAlNIiJkNMGjQmRsY69ZJixeb+QFABZHn+h4WUwEXpp4C3lOvnnTTTWd+5nbvNj2mfvrJ1rDgvyydac5f+QMAAkx0tNShg3n/22/N8FUAnhEbKw0caBZWQ0OlAwfMzICtW6kMR4XYnee++uqraty4saKiotSxY0etWLHioucvW7ZMHTt2VFRUlC6//HK99tprFfq+fRmLqcDZOnaUatQwC6mrV9sdDRDYwsKkrl2lfv3O/NytWGEqVbmZAQCAezVrJiUmmjkBX39N33LAk0JCzJb/G26QateWCguljRulhQul48ftjg4osw8++EDjxo3TU089pY0bN+rqq6/WoEGDtGfPnlLP37Vrl66//npdffXV2rhxo5588kk98MAD+uijj7wcuWexmAqcjamngPclJJhEs3nzMz97TEJFObH9CQDKoHt303InK8ss7ADwrOhoacAAU7QTHi4dOWKqVFNTqVJFmdmZ506ePFl33XWX7r77brVo0UJTpkxR/fr1NW3atFLPf+2119SgQQNNmTJFLVq00N13360777xTL7zwgjteCp/BYipwLqaeAt4XFiZ16mSSzbMnoX75JT+DAAC4y9lzAtLSzJAcAJ7XooUpHrjsMlMdnpoqLVggHT5sd2QIUllZWSWO06dPn3dOXl6eUlJS1L9//xLP9+/fXytXriz1uqtWrTrv/AEDBmj9+vXKz8933zdgMxZTgdKcPfV0xQruGgLeEhdXchJqerq5e88kVFxCkeVw6wEAAatBA6lxY/P+qlUMgAS8pXp1qW9f0+YqIsJs91+40BTw0HYDF+GJPLd+/fpyOp3Fx8SJE8/7uocPH1ZhYaHq1KlT4vk6deooIyOj1FgzMjJKPb+goECHA+jmQZjdAQA+yTX19LPPzFaMbdvM4g4Az3NNQm3USFq50gzJWLfODKlKSjKVq8C5rF8Od10LAAJZ167SwYNSdraZE3DNNXZHBASPpk2lunWltWtNe6tt26S9e02eGx9vd3TwRR7Ic/fu3avos/6uioyMvOCnOBwlCw0syzrvuUudX9rz/ozKVOBCmHoK2CsmpuQk1EOHzA2OLVuoFofPKc+U048//ljXXXedateurejoaCUlJWnhwoVejBZA0HPNCZCkPXukXbvsjQcINlWrSr17S1dfbdpvnDghLVokrVlDlSq8Ijo6usRR2mJqXFycQkNDz6tCPXjw4HnVpy4JCQmlnh8WFqZatWq57xuwGYupwMUw9RSwV2mTUDdtkpKTmYSKEixJRW46ynvjv7xTTpcvX67rrrtOCxYsUEpKiq699lrdeOON2sgwGADeFB8vtWxp3l+7Vjp1yt54gGDUsKFpcdWokXm8Y4c0bx79jFGCXXluRESEOnbsqMWLF5d4fvHixere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To5+/vnn857funVrZS4LBA6STADwCofl3iMYvPrqq3rhhRd06623KjExUZZlqWvXrnrppZc0ffp0u8PzCeS6wEW45gNkZtobBwAEOPLc8vN0nlvhxdT//e9/uvLKK3X99derbdu2WrNmTfHHRo4cWenAgIBAkgkA8FE//vijevbsed7zV1xxhdLT022IyLeQ6wKXEBtr3ubmSqdO2RsLAMB2x44d08iRI+V0OuV0OjVy5EgdP378gufn5+fr8ccfV5s2bVStWjUlJibqtttu0/79+ysdi6fz3Aovpv7973/Xhg0b9O233+o///mP7rzzTr3//vuSJMsKkqVu4FJIMgEgKLz66qtq3LixoqKi1LFjR61YseKi5y9btkwdO3ZUVFSULr/8cr322mteivSMmJgYZWVlnff88uXL1axZM6/H42vIdYFLCAuTatQw7x89am8sAADbjRgxQps2bVJycrKSk5O1adOmi96APnXqlDZs2KCnn35aGzZs0Mcff6zvv/9eQ4YMqXQsns5zwyr6ifn5+apdu7YkqVOnTlq+fLluvvlm/fDDD3I4gqehLXBRriTzxAmTZDIhGQACzgcffKBx48bp1VdfVY8ePTR9+nQNGjRI27ZtU4MGDc47f9euXbr++us1atQozZgxQ998843GjBmj2rVr69e//rXX4u7QoYNWrlyp9u3bSzK53ahRozRz5ky99957XovDV5HrAmXgdJo89/hxqV49u6MBANhk+/btSk5O1urVq9W1a1dJ0uuvv66kpCSlpaWVuoDpdDq1ePHiEs+98sor6tKli/bs2VNqHl1Wns5zK1yZGh8fr9TU1OLHtWrV0uLFi7V9+/YSzwNBz+k0b7ljDwABafLkybrrrrt09913q0WLFpoyZYrq16+vadOmlXr+a6+9pgYNGmjKlClq0aKF7r77bt1555164YUXvBr3k08+qRq/VJVFRkaqQ4cOysnJ0cKFC726qOuryHWBMnDtwiLPBQC/kpWVVeI4ffp0pa63atUqOZ3O4oVUSerWrZucTqdWrlxZ5utkZmbK4XAoxjV/poI8nedWuDL1vffeU1hYyU+PiIjQrFmzNHbs2EoHBgSM2Fhp3z5zxx4A4BnWL4e7rlVGeXl5SklJ0RNPPFHi+f79+18wcVy1apX69+9f4rkBAwbozTffVH5+vsLDw8sdckX07Nmz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",
      "text/plain": [
       "<Figure size 640x480 with 7 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# calculate the Eigen values and vectors and sort by Eigen value\n",
    "vals, vecs = np.linalg.eig(Laplace)\n",
    "vecs = vecs[:,np.argsort(vals)]\n",
    "vals = vals[np.argsort(vals)]\n",
    "\n",
    "# plot the sorted Eigen values\n",
    "plt.subplot(221)\n",
    "plt.plot(vals,c = 'red',alpha = 0.4); \n",
    "plt.title('Eigen Values of Graph Laplacian'); plt.ylabel('Eigen Values'); plt.xlabel('Ordered Eigen Vectors')\n",
    "\n",
    "# plot the sample data graph with 2nd Eigen vector\n",
    "plt.subplot(222)\n",
    "plt.scatter(X1,X2,c = vecs[:,1],alpha = 0.8,edgecolors = 'black')\n",
    "for j in range(0,len(X1)):                 # plot vertices \n",
    "    for i in range(0,len(X1)):\n",
    "        if adjacency[i,j] == 1:\n",
    "            x1 = [X1[i],X1[j]]; x2 = [X2[i],X2[j]]\n",
    "            plt.plot(x1,x2,c = 'red',alpha = 0.2)\n",
    "plt.xlim([0,500]); plt.ylim([0,500]); \n",
    "plt.xlabel('$X_1$'); plt.ylabel('$X_2$'); plt.title('Sample Data Graph and $2^{nd}$ Eigen Vector')\n",
    "cbar = plt.colorbar()\n",
    "cbar.set_label('$2^{nd}$ Eigen Vector', rotation=270, labelpad=20)\n",
    "\n",
    "# plot the sample data graph with 3rd Eigen vector\n",
    "plt.subplot(223)\n",
    "plt.scatter(X1,X2,c = vecs[:,2],alpha = 0.8,edgecolors = 'black')\n",
    "for j in range(0,len(X1)):                 # plot vertices\n",
    "    for i in range(0,len(X1)):\n",
    "        if adjacency[i,j] == 1:\n",
    "            x1 = [X1[i],X1[j]]; x2 = [X2[i],X2[j]]\n",
    "            plt.plot(x1,x2,c = 'red',alpha = 0.2)\n",
    "plt.xlim([0,500]); plt.ylim([0,500]); \n",
    "plt.xlabel('$X_1$'); plt.ylabel('$X_2$'); plt.title('Sample Data Graph and $3^{rd}$ Eigen Vector')\n",
    "cbar = plt.colorbar()\n",
    "cbar.set_label('$3^{rd}$ Eigen Vector', rotation=270, labelpad=20)\n",
    "\n",
    "# plot the sample data graph with 4th Eigen vector\n",
    "plt.subplot(224)\n",
    "plt.scatter(X1,X2,c = vecs[:,3],alpha = 0.8,edgecolors = 'black') \n",
    "for j in range(0,len(X1)):                 # plot vertices\n",
    "    for i in range(0,len(X1)):\n",
    "        if adjacency[i,j] == 1:\n",
    "            x1 = [X1[i],X1[j]]; x2 = [X2[i],X2[j]]\n",
    "            plt.plot(x1,x2,c = 'red',alpha = 0.2)\n",
    "plt.xlim([0,500]); plt.ylim([0,500]); \n",
    "plt.xlabel('$X_1$'); plt.ylabel('$X_2$'); plt.title('Sample Data Graph and $4^{th}$ Eigen Vector')\n",
    "cbar = plt.colorbar()\n",
    "cbar.set_label('$4^{th}$ Eigen Vector', rotation=270, labelpad=20)\n",
    "\n",
    "plt.subplots_adjust(left=0.0, bottom=0.0, right=2.0, top=2.0, wspace=0.2, hspace=0.3)      "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### Assign Clusters by k-Means Clusters on Eigen Vectors\n",
    "\n",
    "Now we will apply k-Means clusters on the first k vectors where k is the number of clusters.\n",
    "\n",
    "* code taken from this [article and demonstration](https://towardsdatascience.com/spectral-clustering-aba2640c0d5b)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAA48AAALICAYAAADfQ8VvAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAACKBElEQVR4nOzdd3iV5f3H8U/Wyd4JCWGEiIgoBCRgCFumzLoqilVQbLWuIloVbQWtBcW6KlVrHVjr/lUUlakoG2SKDBExLEkIGSQBQubz++PuiYYEDoEkzznJ+3Vduc7Ik+d8T0jC+Zz7vr+3l2VZlgAAAAAAOAVvuwsAAAAAALg/wiMAAAAAwCXCIwAAAADAJcIjAAAAAMAlwiMAAAAAwCXCIwAAAADAJcIjAAAAAMAlwiMAAAAAwCXCIwAAAADAJcIj0AisWbNGl19+uVq3bi1/f3/FxcUpLS1N99xzj92luTR+/Hi1adOmzs43a9YseXl5VX4EBAQoPj5el1xyiaZPn66srKwzPve2bds0depU7d69u87q/aWDBw/qwQcfVJcuXRQWFiaHw6GWLVvqiiuu0Jw5c1ReXl4vj3s6xo8fr5CQENse/3Tt3r1bXl5emjVr1ml/zZw5c+Tl5aXo6GgVFxfXW23On836+vmpK1OnTpWXl9dpH//JJ59o1KhRiouLk8PhUFRUlAYOHKi33npLpaWllcd5eXlp6tSp9VCxdOzYMU2dOlVfffVVvZwfAGAQHgEP99lnn6lnz54qKCjQjBkztHDhQj333HPq1auX3nvvPbvLs83rr7+uVatWadGiRfrHP/6hLl266IknnlCHDh30+eefn9E5t23bpkceeaReXvyvXr1anTp10r/+9S+NHj1a7777rj7//HM9/vjj8vPz0xVXXFGrQITT9+qrr0qScnNz9dFHH9Xb44wYMUKrVq1S8+bN6+0xGpJlWbrxxhs1evRoVVRU6Omnn9bnn3+uN954Q507d9Ztt92mF154oUFqOXbsmB555BHCIwDUM1+7CwBwdmbMmKGkpCQtWLBAvr4//0pfc801mjFjho2V2atjx47q1q1b5e0rr7xSd999t3r37q0rrrhCO3fuVFxcnI0V/uzw4cO67LLLFBISohUrVlQLF7/5zW+0efNm5eTknPI8RUVFCggIqNWoUVOXmZmpuXPnasCAAVq5cqVeffVVjRkzpl4eKzY2VrGxsfVybjs8+eSTmjVrlh555BE9/PDDVT43atQo3Xffffrhhx9sqq5ulJaWysvLq8rfVgBoyhh5BDxcTk6OYmJianxx4+1d9Vf8vffe05AhQ9S8eXMFBgaqQ4cOeuCBB3T06NEqxzmnKH733XcaOnSogoOD1bx5cz3++OOSzChZ7969FRwcrPPOO09vvPFGla93Ts9btGiRbrzxRkVFRSk4OFijRo3Sjz/+6PI5WZalF154QV26dFFgYKAiIyN11VVXndbXnkrr1q311FNPqbCwUP/85z8r71+3bp2uueYatWnTRoGBgWrTpo2uvfZa7dmzp8pz+vWvfy1JuuSSSyqnxTpHAxctWqRf/epXatmypQICAnTuuefqlltuUXZ2tsu6/vWvf+ngwYOaMWPGSUelkpOTdckll1Spx8vLSwsXLtRNN92k2NhYBQUFqbi4WD/88INuvPFGtWvXTkFBQWrRooVGjRqlb7/9tso5v/rqK3l5eek///mPJk2apPj4eAUGBqpfv37auHFjjXX88MMPGj58uEJCQtSqVSvdc889pzXVs7Y/e6fzOAcOHNDVV1+t0NBQhYeHa8yYMcrMzHRZyy+98cYbKisr0913360rrrhCX3zxRZV/d6cPPvhAqampCg8PV1BQkM455xzddNNNlZ+vqKjQY489pvbt2yswMFARERFKTk7Wc889V3lMTdNWLcvStGnTlJiYqICAAHXr1k2LFi1S//791b9//8rjnP9W77zzjh566CElJCQoLCxMgwYN0o4dO6rV+/nnn2vgwIEKCwtTUFCQevXqpS+++KLacZ999pm6dOkif39/JSUl6W9/+9tpfd9KS0v1xBNP6Pzzz9ef//znGo+Jj49X7969T3qOk02Pren7tHjxYvXv31/R0dEKDAxU69atdeWVV+rYsWPavXt3ZSh/5JFHKn83x48fX/n1O3fu1NixY9WsWTP5+/urQ4cO+sc//lHlcZ3f4zfffFP33HOPWrRoIX9/f/3www86duyY7r33XiUlJSkgIEBRUVHq1q2b3nnnndP6fgFAY0F4BDxcWlqa1qxZo7vuuktr1qypssboRDt37tTw4cP16quvav78+Zo4caLef/99jRo1qtqxpaWluuKKKzRixAh9/PHHGjZsmCZPnqwHH3xQ48aN00033aTZs2erffv2Gj9+vNavX1/tHBMmTJC3t7fefvttPfvss/r666/Vv39/HT58+JTP6ZZbbtHEiRM1aNAgffTRR3rhhRe0detW9ezZUwcPHqz19+iXhg8fLh8fHy1durTyvt27d6t9+/Z69tlntWDBAj3xxBPKyMhQ9+7dK8PfiBEjNG3aNEnSP/7xD61atUqrVq3SiBEjJEm7du1SWlqaXnzxRS1cuFAPP/yw1qxZo969e5/y30QywdPHx0fDhw+v9fO56aab5OfnpzfffFP/93//Jz8/Px04cEDR0dF6/PHHNX/+fP3jH/+Qr6+vUlNTawwaDz74oH788Ue98soreuWVV3TgwAH179+/WlgvLS3V6NGjNXDgQH388ce66aab9Mwzz+iJJ55wWWdtf/ZcPU5RUZEGDRqkhQsXavr06frggw8UHx9f61HD1157Tc2bN9ewYcN00003qaKiotr04FWrVmnMmDE655xz9O677+qzzz7Tww8/rLKysspjZsyYoalTp+raa6/VZ599pvfee08TJkxw+bP+0EMP6aGHHtKll16qjz/+WLfeeqtuvvlmff/99zUe/+CDD2rPnj165ZVX9PLLL2vnzp0aNWpUlfWw//nPfzRkyBCFhYXpjTfe0Pvvv6+oqCgNHTq0SoD84osv9Ktf/UqhoaF699139eSTT+r999/X66+/7vL7tm7dOuXm5upXv/pVvY907969WyNGjJDD4dBrr72m+fPn6/HHH1dwcLBKSkrUvHlzzZ8/X5L5m+P83XSG2m3btql79+7asmWLnnrqKX366acaMWKE7rrrLj3yyCPVHm/y5Mnau3evXnrpJX3yySdq1qyZJk2apBdffFF33XWX5s+frzfffFO//vWvXc4GAIBGxwLg0bKzs63evXtbkixJlp+fn9WzZ09r+vTpVmFh4Um/rqKiwiotLbWWLFliSbK++eabys+NGzfOkmT997//rbyvtLTUio2NtSRZGzZsqLw/JyfH8vHxsSZNmlR53+uvv25Jsi6//PIqj7lixQpLkvXYY49VeazExMTK26tWrbIkWU899VSVr923b58VGBho3Xfffaf8fjgfe+3atSc9Ji4uzurQocNJP19WVmYdOXLECg4Otp577rnK+z/44ANLkvXll1+esgbn93bPnj2WJOvjjz8+5fHnn3++FR8fX+3+8vJyq7S0tPKjvLy88nPO53nDDTec8tzO51NSUmK1a9fOuvvuuyvv//LLLy1JVteuXa2KiorK+3fv3m35+flZN998c+V9zp+J999/v8q5hw8fbrVv395lDb90Oj97rh7nxRdfrPF7+9vf/taSZL3++usu61i6dKklyXrggQcq60pKSrISExOrfD/+9re/WZKsw4cPn/RcI0eOtLp06XLKx3P+m6Wnp1uWZVm5ubmWv7+/NWbMmCrHOX8H+vXrV3mf899q+PDhVY59//33LUnWqlWrLMuyrKNHj1pRUVHWqFGjqhxXXl5ude7c2br44osr70tNTbUSEhKsoqKiyvsKCgqsqKgoy9XLg3fffdeSZL300kunPO6XJFlTpkypvD1lypQaH+fE79P//d//WZKsTZs2nfTchw4dqnZ+p6FDh1otW7a08vPzq9x/xx13WAEBAVZubq5lWT9/j/v27VvtHB07drQuu+yy03iWANC4MfIIeLjo6GgtW7ZMa9eu1eOPP65f/epX+v777zV58mR16tSpyrTJH3/8UWPHjlV8fLx8fHzk5+enfv36SZK2b99e5bxeXl5VRsJ8fX117rnnqnnz5rrooosq74+KilKzZs1qnOp33XXXVbnds2dPJSYm6ssvvzzp8/n000/l5eWl3/zmNyorK6v8iI+PV+fOneukIYZlWVVuHzlyRPfff7/OPfdc+fr6ytfXVyEhITp69Gi178vJZGVl6dZbb1WrVq3k6+srPz8/JSYmSqr+vT1dkyZNkp+fX+XH6NGjqx1z5ZVXVruvrKxM06ZN0wUXXCCHwyFfX185HA7t3LmzxlrGjh1bZfQoMTFRPXv2rPbv5OXlVW2kMDk5ucZ/+xPV9mfP1eN8+eWXCg0NrfY9GTt2rMtanJyNcpzTT51THffs2VNlhK579+6SpKuvvlrvv/++fvrpp2rnuvjii/XNN9/otttu04IFC1RQUODy8VevXq3i4mJdffXVVe7v0aPHSTsQn/h8k5OTJanye7Ny5Url5uZq3LhxVX5/KioqdOmll2rt2rU6evSojh49qrVr1+qKK65QQEBA5flCQ0NrHA22U5cuXeRwOPS73/1Ob7zxRq2mrx8/flxffPGFLr/8cgUFBVX5ngwfPlzHjx/X6tWrq3xNTb9TF198sebNm6cHHnhAX331lYqKis76eQGAJyI8Ao1Et27ddP/99+uDDz7QgQMHdPfdd2v37t2VTXOOHDmiPn36aM2aNXrsscf01Vdfae3atfrwww8lqdqLoaCgoCovKiVVtuE/kcPh0PHjx6vdHx8fX+N9p5rqdfDgQVmWpbi4uCrByc/PT6tXrz6tNYSncvToUeXk5CghIaHyvrFjx2rmzJm6+eabtWDBAn399ddau3atYmNjT+tFYkVFhYYMGaIPP/xQ9913n7744gt9/fXXlS9KXZ2jdevWOnTokI4dO1bl/nvuuUdr167V2rVrT7oWsqb7J02apD//+c+67LLL9Mknn2jNmjVau3atOnfuXGMtp/vvVNPPhL+/f43/9r9UFz97Jz5OTk5OjQ2PanouNSksLNQHH3ygiy++WLGxsTp8+LAOHz6syy+/XF5eXpXBUpL69u2rjz76SGVlZbrhhhvUsmVLdezYscp6t8mTJ+tvf/ubVq9erWHDhik6OloDBw7UunXrTlqD8/tb0/M4WTOn6OjoKrf9/f0l/fw9dE7rvuqqq6r9/jzxxBOyLEu5ubnKy8tTRUXFSf/tXWndurUkKT093eWxZ6tt27b6/PPP1axZM91+++1q27at2rZtW2U96cnk5OSorKxMzz//fLXvh/PNsRP/ptT0O/X3v/9d999/vz766CNdcsklioqK0mWXXaadO3fWzZMEAA9B+zCgEfLz89OUKVP0zDPPaMuWLZJMw4kDBw7oq6++qhzxkeRyTdbZqKl5SWZmps4999yTfk1MTIy8vLy0bNmyyhfGv1TTfbXx2Wefqby8vLIZSX5+vj799FNNmTJFDzzwQOVxxcXFys3NPa1zbtmyRd98841mzZqlcePGVd5/up0mBw8erIULF2ru3Lm66qqrKu9v1aqVWrVqJckE9JrUtN7sP//5j2644YbKNZpO2dnZioiIqHb8yf6dTgwqZ6o+fvaio6P19ddfV7v/dBvmvPPOOzp27Ji+/vprRUZGVvv87NmzlZeXV/m5X/3qV/rVr36l4uJirV69WtOnT9fYsWPVpk0bpaWlydfXV5MmTdKkSZN0+PBhff7553rwwQc1dOhQ7du3T0FBQTU+B0k1ruPNzMw8o/1PY2JiJEnPP/+8evToUeMxcXFxlV1ET/Zv70q3bt0UFRWljz/+WNOnTz+jdY/ONwiKi4ur/F7X9AZRnz591KdPH5WXl2vdunV6/vnnNXHiRMXFxemaa6456WNERkbKx8dH119/vW6//fYaj0lKSqpyu6bnEhwcrEceeUSPPPKIDh48WDkKOWrUKH333Xen9XwBoDFg5BHwcBkZGTXe75wK6Bxhc74gOjF8/bLraF176623qtxeuXKl9uzZU6WL5IlGjhwpy7L0008/qVu3btU+OnXqdMb17N27V/fee6/Cw8N1yy23SDLfF8uyqn1fXnnllSpNSKTqozxOZ/u9vfnmmxUXF6f77rvvpP+eteHl5VWtls8++6zG6ZaSCVK/nMq7Z88erVy58pT/TrWtR6rbn71LLrlEhYWFmjNnTpX733777dP6+ldffVWhoaH64osv9OWXX1b5ePLJJ1VcXFzt59f5HPr161fZvKemrrQRERG66qqrdPvttys3N/ek+4KmpqbK39+/2n6sq1evPq2pwDXp1auXIiIitG3bthp/f7p16yaHw6Hg4GBdfPHF+vDDD6uM6BYWFuqTTz5x+Th+fn66//779d133+kvf/lLjcdkZWVpxYoVJz2HMxxv3ry5yv2nenwfHx+lpqZWdkrdsGGDpJP/bgYFBemSSy7Rxo0blZycXOP3o7ZvksTFxWn8+PG69tprtWPHjmozBgCgMWPkEfBwQ4cOVcuWLTVq1Cidf/75qqio0KZNm/TUU08pJCREf/jDHySZ9YaRkZG69dZbNWXKFPn5+emtt97SN998U2+1rVu3TjfffLN+/etfa9++fXrooYfUokUL3XbbbSf9ml69eul3v/udbrzxRq1bt059+/ZVcHCwMjIytHz5cnXq1Em///3vXT72li1bKtc2ZWVladmyZXr99dfl4+Oj2bNnV7b2DwsLU9++ffXkk08qJiZGbdq00ZIlS/Tqq69WG6Xr2LGjJOnll19WaGioAgIClJSUpPPPP19t27bVAw88IMuyFBUVpU8++USLFi06re9TRESEPvroI40aNUqdO3fW73//e/Xo0UMhISHKycnR0qVLlZmZqZ49e57W+UaOHKlZs2bp/PPPV3JystavX68nn3xSLVu2rPH4rKwsXX755frtb3+r/Px8TZkyRQEBAZo8efJpPZ4r9fGzd8MNN+iZZ57RDTfcoL/+9a9q166d5s6dqwULFrj82i1btujrr7/W73//ew0YMKDa53v16qWnnnpKr776qu644w49/PDD2r9/vwYOHKiWLVvq8OHDeu6556qs2xw1alTl3qKxsbHas2ePnn32WSUmJqpdu3Y11hEVFaVJkyZp+vTpioyM1OWXX679+/frkUceUfPmzatttXM6QkJC9Pzzz2vcuHHKzc3VVVddpWbNmunQoUP65ptvdOjQIb344ouSpL/85S+69NJLNXjwYN1zzz0qLy/XE088oeDg4NMadf/jH/+o7du3a8qUKfr66681duxYtWrVSvn5+Vq6dKlefvllPfLII+rVq1eNXz98+HBFRUVpwoQJevTRR+Xr66tZs2Zp3759VY576aWXtHjxYo0YMUKtW7fW8ePH9dprr0mSBg0aJMms1UxMTNTHH3+sgQMHKioqqvL3+bnnnlPv3r3Vp08f/f73v1ebNm1UWFioH374QZ988okWL17s8rmmpqZq5MiRSk5OVmRkpLZv364333xTaWlpNY4qA0CjZWOzHgB14L333rPGjh1rtWvXzgoJCbH8/Pys1q1bW9dff721bdu2KseuXLnSSktLs4KCgqzY2Fjr5ptvtjZs2FCtO+W4ceOs4ODgao/Vr18/68ILL6x2f2JiojVixIjK285uiQsXLrSuv/56KyIiwgoMDLSGDx9u7dy5s8rXntht1em1116zUlNTreDgYCswMNBq27atdcMNN1jr1q075ffD+djOD4fDYTVr1szq16+fNW3aNCsrK6va1+zfv9+68sorrcjISCs0NNS69NJLrS1btliJiYnWuHHjqhz77LPPWklJSZaPj0+V79u2bduswYMHW6GhoVZkZKT161//2tq7d+9JO0DWJDMz05o8ebKVnJxsBQcHW35+flZCQoI1atQo69///rdVWlpa7XnW1FU2Ly/PmjBhgtWsWTMrKCjI6t27t7Vs2TKrX79+NXbwfPPNN6277rrLio2Ntfz9/a0+ffpU+z6f7GfiZB0zT3S2P3s1PY7z3y0kJMQKDQ21rrzySmvlypUuu61OnDjRZffOBx54wJJkrV+/3vr000+tYcOGWS1atKj8eRo+fLi1bNmyyuOfeuopq2fPnlZMTIzlcDis1q1bWxMmTLB2795decyJXUQty3R4feyxx6yWLVtaDofDSk5Otj799FOrc+fOVboVO/+tPvjggyp1pqen1/h8lyxZYo0YMcKKioqy/Pz8rBYtWlgjRoyo9vVz5syxkpOTK2t+/PHHT/vf1Onjjz+2RowYYcXGxlq+vr5WZGSkdckll1gv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TYqKilLr1q01ceJETZs2Te3atVO7du00bdo0BQUFaezYsZKk8PBwTZgwQffcc4+io6MVFRWle++9V506dfKIFA80Ks6RRzdf9A0AAFAXJk2apOuvv17dunVTWlqaXn75Ze3du1e33nqrJLNc7qefftK///1vSSY43nDDDXruuefUo0ePylHLwMBAhYeH2/Y8XHGb8Lhu3TpdcskllbedaxHHjRunWbNm6b777lNRUZFuu+025eXlKTU1VQsXLlRoaGjl1zzzzDPy9fXV1VdfraKiIg0cOFCzZs2Sj49Pgz8foEmjWQ4AAGhCxowZo5ycHD366KPKyMhQx44dNXfuXCUmJkoyMyJ/uefjP//5T5WVlen222/X7bffXnm/M/u4K7fc59Eunrb/DeCWSkqk998316++WnI47K0HAAB43OtcT9vnsanwiDWPADxDTk6O1s+fr7379qkiMJDgCAAA0Ii4zbRVAJ4rIyND9957r95//32dX1amZElWQoKGHjmicePG2V0eAAAA6gDhEcBZcW6Hk52drW7dummQn5/CCgr0RXa2xo8fr8zMTN1///12lwkAAICzxLRVAGflscce08GDBzVq1CglJycrISBAUZGR6tS/vzp37qw//elPOnDggN1lAgAA4CwRHgGcsdLSUr3++utq3769QkND5VtWJkdpqSTpiL+/LrroInl7e+uNN96wuVIAAACcLaatAjhjubm5OnLkiJo1ayZJCj5+XJJ03M9PFb6+ckiKjIzUjz/+aGOVAAAAqAuERwBnLDQ0VD4+PiosLJQklXt7KzckRCV+fpKkiooKHT16VFFRUXaWCQAAgDrAtFUAZywoKEijR4/Wjh07VFZWpiNBQfohIUF7Y2MlSbt27dKRI0d07bXX2lwpAAAAzhbhEcBZ+fOf/6xjx45pwYIFys7OlmTWQm7dulXLly/XVVddpS5duthbJAAAAM4a01YBnJWLLrpI8+bN029+8xt9+OGHCgoKUklJiSoqKvSb3/xG//znP+0uEQAAAHWA8AjgrPXv31+7d+/WvHnztG3btsrprImJiXaXBgAAgDpCeARQJ3x9fTVq1CiNGjXK7lIAAABQD1jzCAAAAABwifAIAAAAAHCJ8AgAAAAAcInwCAAAAABwifAIAAAAAHCJ8AgAAAAAcInwCAAAAABwifAIAAAAAHCJ8AgAAAAAcInwCAAAAABwifAIAAAAAHCJ8AgAAAAAcInwCAAAAABwifAIAAAAAHCJ8AgAAAAAcInwCAAAAABwifAIAAAAAHCJ8AgAAAAAcInwCAAAAABwifAIAAAAAHCJ8AgAAAAAcInwCAAAAABwifAIAAAAAHCJ8AgAAAAAcInwCAAAAABwifAIAAAAAHCJ8AgAAAAAcInwCAAAAABwydfuAgAAAACgJiN7/0Hegf4N+pgVRcXSO8826GN6CkYeAQAAAAAuER4BAAAAAC4RHgEAAAAALhEeAQAAAAAuER4BAAAAAC4RHgEAAAAALhEeAQAAAAAuER4BAAAAAC4RHgEAAAAALhEeAQAAAAAuER4BAAAAAC4RHgEAAAAALhEeAQAAAAAuER4BAAAAAC4RHgEAAAAALhEeAQAAAAAuER4BAAAAAC4RHgEAAAAALhEeAQAAAAAuER4BAAAAAC4RHgEAAAAALhEeAQAAAAAuER4BAAAAAC4RHgEAAAAALhEeAQAAAAAuER4BAAAAAC4RHgEAAAAALhEeAQAAAAAuER4BAAAAAC4RHgEAAAAALhEeAQAAAAAuER4BAAAAAC4RHgEAAAAALhEeAQAAAAAuER4BAAAAAC4RHgEAAAAALhEeAQAAAAAuER4BAAAAAC4RHgEAAAAALhEeAQAAAAAuER4BAAAAAC4RHgEAAAAALhEeAQAAAAAuER4BAAAAAC4RHgEAAAAALhEeAQAAAAAuER4BAAAAAC4RHgEAAAAALhEeAQAAAAAuER4BAAAAAC4RHgEAAAAALhEeAQAAAAAuER4BAAAAAC4RHgEAAAAALhEeAQAAAAAuER4BAAAAAC4RHgEAAAAALhEeAQAAAAAuER4BAAAAAC4RHgEAAAAALhEeAQAAAAAuER4BAAAAAC4RHgEAAAAALhEeAQAAAAAuER4BAAAAAC4RHgEAAAAALhEeAQAAAAAuER4BAAAAAC4RHgEAAAAALhEeAQAAAAAuER4BAAAAAC4RHgEAAAAALhEeAQAAAAAuNcrw+MILLygpKUkBAQFKSUnRsmXL7C4JAAAAQCNW2wyyZMkSpaSkKCAgQOecc45eeumlBqr0zDW68Pjee+9p4sSJeuihh7Rx40b16dNHw4YN0969e+0uDQAAAEAjVNsMkp6eruHDh6tPnz7auHGjHnzwQd11113673//28CV146XZVmW3UXUpdTUVHXt2lUvvvhi5X0dOnTQZZddpunTp5/yawsKChQeHq78/HyFhYXVd6kAAABAg/C017nOepv/Y6K8A/0b9LErioqVcfuztfpe1TaD3H///ZozZ462b99eed+tt96qb775RqtWrTr7J1FPfO0uoC6VlJRo/fr1euCBB6rcP2TIEK1cubLa8cXFxSouLq68nZ+fL8n8sAIAAACNhfP1raeNG1lFxaqw4TGl6pnA399f/v7Vg2xtM4gkrVq1SkOGDKly39ChQ/Xqq6+qtLRUfn5+/9/e/cdUVf9xHH/x64JDZBDF5YYR/TBXKFtgAassLZqLsixmzS22+ocGJJJbYWtQa8HYcstBVgNb1hatklZLi9sSzDU25EcSseYmgTWI4UQIEwQ/3z/6cr/eLnqu5eUg3+dju5v3cz7g+8yXF17cy7n/5hQCZkGVx+HhYU1PTys+Pt5rPT4+XoODgz77Kyoq9PLLL/usL126NGAzAgAAAHY5fvy4oqOj7R7DksPhkNPp1ODWndabA2Dx4sU+naCsrEzl5eU+ey+2g0jS4ODgrPunpqY0PDyshISEf3cCAbKgyuOMoKAgr/vGGJ81SSotLVVJSYnn/sjIiJKSktTf339Z/KeCvUZHR7V06VIdO3bssnj5B+xFXuAvsoKLQV7gr5MnT+qaa65RbGys3aP4JSIiQr29vZqcnLTl75+tP8z2rOO5/O0gF9o/2/p8sqDKY1xcnEJCQnwa/tDQkE+zl87/1HN0dDQPwPDbkiVLyAv8Rl7gL7KCi0Fe4K/g4MvnepkRERGKiIiwewxLF9tBJP31rOos+0NDQ3XFFVcEbNZ/6/JJjx8cDofS0tLkdru91t1ut7KysmyaCgAAAMBC9U86SGZmps/+xsZGpaenz9vfd5QWWHmUpJKSEtXW1mrXrl3q6enRli1b1N/fr/z8fLtHAwAAALAAWXWQ0tJSPfnkk579+fn56uvrU0lJiXp6erRr1y7V1dVp69atdp2CXxbUy1YlaePGjTp+/LheeeUVDQwMKCUlRXv37lVSUpLlx4aHh6usrMzy9cyARF5wccgL/EVWcDHIC/xFVgLLqoMMDAx4vedjcnKy9u7dqy1btqimpkYul0s7duzQo48+atcp+GXBvc8jAAAAAODSW3AvWwUAAAAAXHqURwAAAACAJcojAAAAAMAS5REAAAAAYInyeI4333xTycnJioiIUFpamr777ju7R8IcO3DggB588EG5XC4FBQXps88+8zpujFF5eblcLpcWLVqku+++W93d3V57JiYmVFRUpLi4OEVGRuqhhx7Sr7/+OodngblQUVGhVatWKSoqSldddZUefvhh/fzzz157yAtm7Ny5UytXrvS8kXtmZqb27dvnOU5WcD4VFRUKCgpScXGxZ428YEZ5ebmCgoK8bk6n03OcrOBSozz+10cffaTi4mK9+OKL6ujo0J133ql169Z5XVIXC9/4+LhSU1NVXV096/Gqqipt375d1dXVam1tldPp1H333aexsTHPnuLiYjU0NKi+vl4HDx7UH3/8oZycHE1PT8/VaWAONDc3q6CgQC0tLXK73ZqamlJ2drbGx8c9e8gLZiQmJqqyslKHDh3SoUOHtGbNGq1fv97zTRxZwWxaW1v1zjvvaOXKlV7r5AXnuuWWWzQwMOC5dXV1eY6RFVxyBsYYY2677TaTn5/vtbZ8+XLzwgsv2DQR7CbJNDQ0eO6fPXvWOJ1OU1lZ6Vk7ffq0iY6ONm+99ZYxxpiRkRETFhZm6uvrPXt+++03ExwcbL766qs5mx1zb2hoyEgyzc3NxhjyAmsxMTGmtraWrGBWY2Nj5sYbbzRut9usXr3abN682RjDYwu8lZWVmdTU1FmPkRUEAs88SpqcnFRbW5uys7O91rOzs/X999/bNBXmm97eXg0ODnrlJDw8XKtXr/bkpK2tTWfOnPHa43K5lJKSQpYWuJMnT0qSYmNjJZEXnN/09LTq6+s1Pj6uzMxMsoJZFRQU6IEHHtC9997rtU5e8HdHjhyRy+VScnKyHn/8cR09elQSWUFghNo9wHwwPDys6elpxcfHe63Hx8drcHDQpqkw38xkYbac9PX1efY4HA7FxMT47CFLC5cxRiUlJbrjjjuUkpIiibzAV1dXlzIzM3X69GktXrxYDQ0Nuvnmmz3foJEVzKivr1d7e7taW1t9jvHYgnPdfvvt2r17t5YtW6bff/9dr776qrKystTd3U1WEBCUx3MEBQV53TfG+KwB/yQnZGlhKyws1OHDh3Xw4EGfY+QFM2666SZ1dnZqZGREn376qfLy8tTc3Ow5TlYgSceOHdPmzZvV2NioiIiI8+4jL5CkdevWef68YsUKZWZm6vrrr9d7772njIwMSWQFlxYvW5UUFxenkJAQn5+wDA0N+fy0Bv+/Zq5edqGcOJ1OTU5O6sSJE+fdg4WlqKhIn3/+ufbv36/ExETPOnnB3zkcDt1www1KT09XRUWFUlNT9cYbb5AVeGlra9PQ0JDS0tIUGhqq0NBQNTc3a8eOHQoNDfX8e5MXzCYyMlIrVqzQkSNHeGxBQFAe9dcX9LS0NLndbq91t9utrKwsm6bCfJOcnCyn0+mVk8nJSTU3N3tykpaWprCwMK89AwMD+vHHH8nSAmOMUWFhofbs2aNvv/1WycnJXsfJC6wYYzQxMUFW4GXt2rXq6upSZ2en55aenq5Nmzaps7NT1113HXnBeU1MTKinp0cJCQk8tiAw7LhKz3xUX19vwsLCTF1dnfnpp59McXGxiYyMNL/88ovdo2EOjY2NmY6ODtPR0WEkme3bt5uOjg7T19dnjDGmsrLSREdHmz179piuri7zxBNPmISEBDM6Our5HPn5+SYxMdF88803pr293axZs8akpqaaqakpu04LAfDMM8+Y6Oho09TUZAYGBjy3U6dOefaQF8woLS01Bw4cML29vebw4cNm27ZtJjg42DQ2NhpjyAou7NyrrRpDXvA/zz33nGlqajJHjx41LS0tJicnx0RFRXm+fyUruNQoj+eoqakxSUlJxuFwmFtvvdVzyX38/9i/f7+R5HPLy8szxvx12euysjLjdDpNeHi4ueuuu0xXV5fX5/jzzz9NYWGhiY2NNYsWLTI5OTmmv7/fhrNBIM2WE0nm3Xff9ewhL5jx1FNPeb6+XHnllWbt2rWe4mgMWcGF/b08khfM2Lhxo0lISDBhYWHG5XKZDRs2mO7ubs9xsoJLLcgYY+x5zhMAAAAAcLngdx4BAAAAAJYojwAAAAAAS5RHAAAAAIAlyiMAAAAAwBLlEQAAAABgifIIAAAAALBEeQQAAAAAWKI8AgAAAAAsUR4BAAAAAJYojwCAgDt79qyWL1+u559/3mv966+/lsPh0Mcff2zTZAAAwF+URwBAwAUHB6u0tFQ7d+7UiRMnJEk//PCDcnNz9dprryk3N9fmCQEAgJUgY4yxewgAwMI3NTWlZcuWKS8vT08//bQyMjK0fv161dTU2D0aAADwA+URADBn3n77bW3btk1XX321rr32WjU0NCgkJMTusQAAgB942SoAYM5s2rRJp06dkjFGH374oU9xfOSRRxQTE6PHHnvMpgkBAMD5UB4BAHOmsLBQkjQ8PDzrM47PPvusdu/ePddjAQAAP1AeAQBz4qWXXtKXX36plpYWTU1Nqa6uzmfPPffco6ioKBumAwAAViiPAICAq62t1euvv64vvvhCqampKi4uVlVVlc6cOWP3aAAAwE+URwBAQO3bt08FBQX64IMPlJGRIUkqKirS6Oio3n//fZunAwAA/qI8AgACpq2tTbm5uaqqqtKGDRs860uWLFFRUZEqKys1PT1t44QAAMBfvFUHAGBeaWpqUnV1tT755BO7RwEAAOegPAIA5o37779f7e3tGh8fV2xsrBoaGrRq1Sq7xwIAAKI8AgAAAAD8wO88AgAAAAAsUR4BAAAAAJYojwAAAAAAS5RHAAAAAIAlyiMAAAAAwBLlEQAAAABgifIIAAAAALBEeQQAAAAAWKI8AgAAAAAsUR4BAAAAAJYojwAAAAAAS5RHAAAAAICl/wA/5OsUHm0dMAAAAABJRU5ErkJggg==",
      "text/plain": [
       "<Figure size 640x480 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "k = 2                                     # set the number of clusters\n",
    "kmeans = KMeans(n_clusters=k)             # instantiate k-means clusters\n",
    "kmeans.fit(vecs[:,1:k])                   # fit k-means clusters\n",
    "clusters = kmeans.labels_\n",
    "\n",
    "# plot the sample data graph with 2nd Eigen vector\n",
    "plt.subplot(222)\n",
    "for j in range(0,len(X1)):                 # plot vertices\n",
    "    for i in range(0,len(X1)):\n",
    "        if adjacency[i,j] == 1:\n",
    "            x1 = [X1[i],X1[j]]; x2 = [X2[i],X2[j]]\n",
    "            plt.plot(x1,x2,c = 'red',alpha = 0.2)\n",
    "plt.scatter(X1,X2,c = clusters,alpha = 1.0,edgecolors = 'black',vmin = 0, vmax = k-1, cmap = plt.cm.Dark2)\n",
    "plt.xlim([0,500]); plt.ylim([0,500]); \n",
    "plt.xlabel('$X_1$'); plt.ylabel('$X_2$'); plt.title('Sample Data Graph and Assigned Clusters')\n",
    "cbar = plt.colorbar()\n",
    "cbar.set_label('Cluster Index', rotation=270, labelpad=20)\n",
    "plt.subplots_adjust(left=0.0, bottom=0.0, right=3.0, top=3.0, wspace=0.2, hspace=0.3)  "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### Interactive Spectral Clustering Method\n",
    "\n",
    "The following code includes:\n",
    "\n",
    "* dashboard with number of clusters, variogram model sample locations in the feature space and the radius for connections \n",
    "\n",
    "* plots the Eigen values, 2nd Eigen vector and clusters"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [],
   "source": [
    "import warnings; warnings.simplefilter('ignore')\n",
    "\n",
    "color = ['blue','red','green','yellow','orange','white','magenta','cyan']\n",
    "\n",
    "style = {'description_width': 'initial'}\n",
    "l = widgets.Text(value='                                              Spectral Clustering, Michael Pyrcz, Associate Professor, The University of Texas at Austin',layout=Layout(width='950px', height='30px'))\n",
    "ncluster = widgets.IntSlider(min = 2, max = 8, value = 2, step = 1, description = 'nclusters',orientation='vertical',\n",
    "                          layout=Layout(width='100px', height='200px'))\n",
    "ncluster.style.handle_color = 'gray'\n",
    "\n",
    "radius = widgets.FloatSlider(min=0.0, max = 1000.0, value = 50.0, step = 10.0, description = 'radius',\n",
    "                        orientation='vertical',layout=Layout(width='100px', height='200px'))\n",
    "radius.style.handle_color = 'gray'\n",
    "   \n",
    "x1 = widgets.FloatSlider(min=0.0, max = 500.0, value = X1[0], step = 1.0, description = '$x_1$',orientation='vertical',\n",
    "                         layout=Layout(width='30px', height='200px'),readout_format = '.0f',style=style)\n",
    "x1.style.handle_color = color[0]\n",
    "y1 = widgets.FloatSlider(min=0.0, max = 500.0, value = X2[0], step = 1.0, description = '$y_1$',orientation='vertical',\n",
    "                         layout=Layout(width='30px', height='200px'),readout_format = '.0f',style=style)\n",
    "y1.style.handle_color = color[0]\n",
    "\n",
    "x2 = widgets.FloatSlider(min=0.0, max = 500.0, value = X1[1], step = 1.0, description = '$x_2$',orientation='vertical',\n",
    "                         layout=Layout(width='30px', height='200px'),readout_format = '.0f',style=style)\n",
    "x2.style.handle_color = color[1]\n",
    "y2 = widgets.FloatSlider(min=0.0, max = 500.0, value = X2[1], step = 1.0, description = '$y_2$',orientation='vertical',\n",
    "                         layout=Layout(width='30px', height='200px'),readout_format = '.0f',style=style)\n",
    "y2.style.handle_color = color[1]\n",
    "\n",
    "x3 = widgets.FloatSlider(min=0.0, max = 500.0, value = X1[2], step = 1.0, description = '$x_3$',orientation='vertical',\n",
    "                         layout=Layout(width='30px', height='200px'),readout_format = '.0f',style=style)\n",
    "x3.style.handle_color = color[2]\n",
    "y3 = widgets.FloatSlider(min=0.0, max = 500.0, value = X2[2], step = 1.0, description = '$y_3$',orientation='vertical',\n",
    "                         layout=Layout(width='30px', height='200px'),readout_format = '.0f',style=style)\n",
    "y3.style.handle_color = color[2]\n",
    "\n",
    "x4 = widgets.FloatSlider(min=0.0, max = 500.0, value = X1[3], step = 1.0, description = '$x_4$',orientation='vertical',\n",
    "                         layout=Layout(width='30px', height='200px'),readout_format = '.0f',style=style)\n",
    "x4.style.handle_color = color[3]\n",
    "y4 = widgets.FloatSlider(min=0.0, max = 500.0, value = X2[3], step = 1.0, description = '$y_4$',orientation='vertical',\n",
    "                         layout=Layout(width='30px', height='200px'),readout_format = '.0f',style=style)\n",
    "y4.style.handle_color = color[3]\n",
    "\n",
    "x5 = widgets.FloatSlider(min=0.0, max = 500.0, value = X1[4], step = 1.0, description = '$x_5$',orientation='vertical',\n",
    "                         layout=Layout(width='30px', height='200px'),readout_format = '.0f',style=style)\n",
    "x5.style.handle_color = color[4]\n",
    "y5 = widgets.FloatSlider(min=0.0, max = 500.0, value = X2[4], step = 1.0, description = '$y_5$',orientation='vertical',\n",
    "                         layout=Layout(width='30px', height='200px'),readout_format = '.0f',style=style)\n",
    "y5.style.handle_color = color[4]\n",
    "\n",
    "x6 = widgets.FloatSlider(min=0.0, max = 500.0, value = X1[5], step = 1.0, description = '$x_6$',orientation='vertical',\n",
    "                         layout=Layout(width='30px', height='200px'),readout_format = '.0f',style=style)\n",
    "x6.style.handle_color = color[5]\n",
    "y6 = widgets.FloatSlider(min=0.0, max = 500.0, value = X2[5], step = 1.0, description = '$y_6$',orientation='vertical',\n",
    "                         layout=Layout(width='30px', height='200px'),readout_format = '.0f',style=style)\n",
    "y6.style.handle_color = color[5]\n",
    "\n",
    "x7 = widgets.FloatSlider(min=0.0, max = 500.0, value = X1[6], step = 1.0, description = '$x_7$',orientation='vertical',\n",
    "                         layout=Layout(width='30px', height='200px'),readout_format = '.0f',style=style)\n",
    "x7.style.handle_color = color[6]\n",
    "y7 = widgets.FloatSlider(min=0.0, max = 500.0, value = X2[6], step = 1.0, description = '$y_7$',orientation='vertical',\n",
    "                         layout=Layout(width='30px', height='200px'),readout_format = '.0f',style=style)\n",
    "y7.style.handle_color = color[6]\n",
    "\n",
    "x8 = widgets.FloatSlider(min=0.0, max = 500.0, value = X1[7], step = 1.0, description = '$x_8$',orientation='vertical',\n",
    "                         layout=Layout(width='30px', height='200px'),readout_format = '.0f',style=style)\n",
    "x8.style.handle_color = color[7]\n",
    "y8 = widgets.FloatSlider(min=0.0, max = 500.0, value = X2[7], step = 1.0, description = '$y_8$',orientation='vertical',\n",
    "                         layout=Layout(width='30px', height='200px'),readout_format = '.0f',style=style)\n",
    "y8.style.handle_color = color[7]\n",
    "\n",
    "uipars = widgets.HBox([ncluster,radius,x1,y1,x2,y2,x3,y3,x4,y4,x5,y5,x6,y6,x7,y7,x8,y8],) \n",
    "uik = widgets.VBox([l,uipars],)\n",
    "\n",
    "def f_make_spectral(ncluster,radius,x1,y1,x2,y2,x3,y3,x4,y4,x5,y5,x6,y6,x7,y7,x8,y8):                       # function to take parameters, make sample and plot#\n",
    "#    text_trap = io.StringIO()\n",
    "#    sys.stdout = text_trap\n",
    "    X1_local = [x1,x2,x3,x4,x5,x6,x7,x8]; X2_local = [y1,y2,y3,y4,y5,y6,y7,y8]\n",
    "    \n",
    "    n = len(X1)\n",
    "    adjacency = np.zeros([len(X1_local),len(X1_local)])   # declare the 2D matrices\n",
    "    degree = np.zeros([len(X1_local),len(X2_local)])\n",
    "\n",
    "    # populate the adjacency matrix\n",
    "    for j in range(0,len(X1_local)):\n",
    "        for i in range(0,len(X1_local)):\n",
    "            if i != j:\n",
    "                distance = math.sqrt((X1_local[i]-X1_local[j])*(X1_local[i]-X1_local[j]) + (X2_local[i]-X2_local[j])*(X2_local[i]-X2_local[j]))\n",
    "                if distance <= radius:\n",
    "                    adjacency[i,j] = 1; adjacency[j,i] = 1 \n",
    "    \n",
    "    # plot the adjacency matrix - optional\n",
    "#     plt.subplot(222)  \n",
    "#     plt.imshow(adjacency,cmap = plt.cm.binary); plt.grid(alpha = 0.2)\n",
    "#     plt.xlim([-0.5,len(X1_local)-1+0.5]); plt.ylim([-0.5,len(X2_local)-1+0.5]);\n",
    "#     plt.title('Adjacency Matrix'); plt.xlabel('$X_1$'); plt.ylabel('$X_2$');\n",
    "#     plt.colorbar()\n",
    "    \n",
    "    # populate the degree matrix\n",
    "    for j in range(0,len(X1)):\n",
    "        summation = 0\n",
    "        for i in range(0,len(X1)):\n",
    "            summation = summation + adjacency[i,j]\n",
    "        degree[j,j] = summation\n",
    "        \n",
    "    # calculate the Laplacian matrix\n",
    "    Laplace = degree - adjacency\n",
    "    \n",
    "    # plot the Laplacian matrix - optional\n",
    "#     plt.subplot(223)  \n",
    "#     plt.imshow(Laplace,cmap = cmap); plt.grid(alpha = 0.2)\n",
    "#     plt.xlim([-0.5,len(X1_local)-1+0.5]); plt.ylim([-0.5,len(X2_local)-1+0.5]);\n",
    "#     plt.title('Graph Laplacian Matrix'); plt.xlabel('$X_1$'); plt.ylabel('$X_2$');\n",
    "#     plt.colorbar()\n",
    "        \n",
    "    # plot the sample data graph\n",
    "    plt.subplot(121)\n",
    "    \n",
    "    for i in range(0,n):\n",
    "        plt.scatter(X1_local[i],X2_local[i],c = color[i],s=150,alpha = 0.9,edgecolors = 'black')\n",
    "    for idata in range(0,8):\n",
    "        plt.annotate(str(idata+1),(X1_local[idata]-4,X2_local[idata]-4))\n",
    "    for j in range(0,len(X1)):\n",
    "        for i in range(0,len(X1)):\n",
    "            if adjacency[i,j] == 1:\n",
    "                x1 = [X1_local[i],X1_local[j]]; x2 = [X2_local[i],X2_local[j]]\n",
    "                plt.plot(x1,x2,c = 'black',alpha = 0.2)\n",
    "    plt.xlim([0,500]); plt.ylim([0,500]); \n",
    "    plt.xlabel('$X$'); plt.ylabel('$Y$'); plt.title('Sample Data and Graph')\n",
    "    plt.subplots_adjust(left=0.0, bottom=0.0, right=2.0, top=2.0, wspace=0.2, hspace=0.3)        \n",
    "\n",
    "    # calculate the Eigen values and vectors and sort by Eigen value\n",
    "    vals, vecs = np.linalg.eig(Laplace)\n",
    "    vecs = vecs[:,np.argsort(vals)]\n",
    "    vals = vals[np.argsort(vals)]    \n",
    "    \n",
    "    kmeans = KMeans(n_clusters=ncluster)             # instantiate k-means clusters\n",
    "    kmeans.fit(vecs[:,1:ncluster])                   # fit k-means clusters\n",
    "    clusters = kmeans.labels_\n",
    "\n",
    "    # plot the sample data graph with 2nd Eigen vector\n",
    "    plt.subplot(122)\n",
    "#     for j in range(0,len(X1_local)):                 # plot vertices\n",
    "#         for i in range(0,len(X1_local)):\n",
    "#             if adjacency[i,j] == 1:\n",
    "#                 x1 = [X1_local[i],X1_local[j]]; x2 = [X2_local[i],X2_local[j]]\n",
    "#                 plt.plot(x1,x2,c = 'red',alpha = 0.2)\n",
    "    cmap = plt.cm.get_cmap('Set2',8)\n",
    "    plt.scatter(X1_local,X2_local,c = clusters+1,s = 150,alpha = 0.9,edgecolors = 'black',vmin = 1, vmax = 8, cmap = cmap)\n",
    "    for idata in range(0,8):\n",
    "        plt.annotate(str(clusters[idata]+1),(X1_local[idata]-7,X2_local[idata]-4))\n",
    "    plt.xlim([0,500]); plt.ylim([0,500]); \n",
    "    plt.xlabel('$X$'); plt.ylabel('$Y$'); plt.title('Sample Data Graph and Assigned Clusters')\n",
    "    cbar = plt.colorbar()\n",
    "    cbar.set_label('Cluster Index', rotation=270, labelpad=20)\n",
    "    plt.subplots_adjust(left=0.0, bottom=0.0, right=2.0, top=1.5, wspace=0.2, hspace=0.3)  \n",
    "\n",
    "# connect the function to make the samples and plot to the widgets    \n",
    "interactive_plot = widgets.interactive_output(f_make_spectral, {'ncluster':ncluster, 'radius':radius, \n",
    "                                                      'x1':x1, 'y1':y1, 'x2':x2, 'y2':y2, 'x3':x3, 'y3':y3,\n",
    "                                                      'x4':x4, 'y4':y4, 'x5':x5, 'y5':y5, 'x6':x6, 'y6':y6,\n",
    "                                                      'x7':x7, 'y7':y7, 'x8':x8, 'y8':y8})\n",
    "interactive_plot.clear_output(wait = True)               # reduce flickering by delaying plot updating"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Interactive Spectral Clustering Demostration\n",
    "\n",
    "* select the number of clusters and the data graph (locations and connections by radius)\n",
    "\n",
    "#### Michael Pyrcz, Associate Professor, University of Texas at Austin \n",
    "\n",
    "##### [Twitter](https://twitter.com/geostatsguy) | [GitHub](https://github.com/GeostatsGuy) | [Website](http://michaelpyrcz.com) | [GoogleScholar](https://scholar.google.com/citations?user=QVZ20eQAAAAJ&hl=en&oi=ao) | [Book](https://www.amazon.com/Geostatistical-Reservoir-Modeling-Michael-Pyrcz/dp/0199731446) | [YouTube](https://www.youtube.com/channel/UCLqEr-xV-ceHdXXXrTId5ig)  | [LinkedIn](https://www.linkedin.com/in/michael-pyrcz-61a648a1) | [GeostatsPy](https://github.com/GeostatsGuy/GeostatsPy)\n",
    "\n",
    "### The Inputs\n",
    "\n",
    "Select the variogram model and the data locations:\n",
    "\n",
    "* **nclusters**: the number of clusters\n",
    "\n",
    "* **radius**: maximum distance in feature space to form a connection\n",
    "\n",
    "* **$x_i$,$y_i$**: sample data locations in feature space"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "349ea3d3165b4c32a8eb43c24666fd7b",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "VBox(children=(Text(value='                                              Spectral Clustering, Michael Pyrcz, A…"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "06de8b7542ea4c79ad82a852eb18d2b8",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Output()"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "display(uik, interactive_plot)                            # display the interactive plot"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### Interactive Spectral Clustering Showing All Steps\n",
    "\n",
    "Let's do this again, but showing all our work."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [],
   "source": [
    "import warnings; warnings.simplefilter('ignore')\n",
    "\n",
    "color = ['blue','red','green','yellow','orange','white','magenta','cyan']\n",
    "\n",
    "style = {'description_width': 'initial'}\n",
    "l = widgets.Text(value='                                              Spectral Clustering, Michael Pyrcz, Associate Professor, The University of Texas at Austin',layout=Layout(width='950px', height='30px'))\n",
    "ncluster = widgets.IntSlider(min = 2, max = 8, value = 2, step = 1, description = 'nclusters',orientation='vertical',\n",
    "                          layout=Layout(width='100px', height='200px'))\n",
    "ncluster.style.handle_color = 'gray'\n",
    "\n",
    "radius = widgets.FloatSlider(min=0.0, max = 1000.0, value = 200.0, step = 10.0, description = 'radius',\n",
    "                        orientation='vertical',layout=Layout(width='100px', height='200px'),continuous_update=False)\n",
    "radius.style.handle_color = 'gray'\n",
    "   \n",
    "x1 = widgets.FloatSlider(min=0.0, max = 500.0, value = X1[0], step = 1.0, description = '$x_1$',orientation='vertical',\n",
    "                         layout=Layout(width='30px', height='200px'),readout_format = '.0f',style=style,continuous_update=False)\n",
    "x1.style.handle_color = color[0]\n",
    "y1 = widgets.FloatSlider(min=0.0, max = 500.0, value = X2[0], step = 1.0, description = '$y_1$',orientation='vertical',\n",
    "                         layout=Layout(width='30px', height='200px'),readout_format = '.0f',style=style,continuous_update=False)\n",
    "y1.style.handle_color = color[0]\n",
    "\n",
    "x2 = widgets.FloatSlider(min=0.0, max = 500.0, value = X1[1], step = 1.0, description = '$x_2$',orientation='vertical',\n",
    "                         layout=Layout(width='30px', height='200px'),readout_format = '.0f',style=style,continuous_update=False)\n",
    "x2.style.handle_color = color[1]\n",
    "y2 = widgets.FloatSlider(min=0.0, max = 500.0, value = X2[1], step = 1.0, description = '$y_2$',orientation='vertical',\n",
    "                         layout=Layout(width='30px', height='200px'),readout_format = '.0f',style=style,continuous_update=False)\n",
    "y2.style.handle_color = color[1]\n",
    "\n",
    "x3 = widgets.FloatSlider(min=0.0, max = 500.0, value = X1[2], step = 1.0, description = '$x_3$',orientation='vertical',\n",
    "                         layout=Layout(width='30px', height='200px'),readout_format = '.0f',style=style,continuous_update=False)\n",
    "x3.style.handle_color = color[2]\n",
    "y3 = widgets.FloatSlider(min=0.0, max = 500.0, value = X2[2], step = 1.0, description = '$y_3$',orientation='vertical',\n",
    "                         layout=Layout(width='30px', height='200px'),readout_format = '.0f',style=style,continuous_update=False)\n",
    "y3.style.handle_color = color[2]\n",
    "\n",
    "x4 = widgets.FloatSlider(min=0.0, max = 500.0, value = X1[3], step = 1.0, description = '$x_4$',orientation='vertical',\n",
    "                         layout=Layout(width='30px', height='200px'),readout_format = '.0f',style=style,continuous_update=False)\n",
    "x4.style.handle_color = color[3]\n",
    "y4 = widgets.FloatSlider(min=0.0, max = 500.0, value = X2[3], step = 1.0, description = '$y_4$',orientation='vertical',\n",
    "                         layout=Layout(width='30px', height='200px'),readout_format = '.0f',style=style,continuous_update=False)\n",
    "y4.style.handle_color = color[3]\n",
    "\n",
    "x5 = widgets.FloatSlider(min=0.0, max = 500.0, value = X1[4], step = 1.0, description = '$x_5$',orientation='vertical',\n",
    "                         layout=Layout(width='30px', height='200px'),readout_format = '.0f',style=style,continuous_update=False)\n",
    "x5.style.handle_color = color[4]\n",
    "y5 = widgets.FloatSlider(min=0.0, max = 500.0, value = X2[4], step = 1.0, description = '$y_5$',orientation='vertical',\n",
    "                         layout=Layout(width='30px', height='200px'),readout_format = '.0f',style=style,continuous_update=False)\n",
    "y5.style.handle_color = color[4]\n",
    "\n",
    "x6 = widgets.FloatSlider(min=0.0, max = 500.0, value = X1[5], step = 1.0, description = '$x_6$',orientation='vertical',\n",
    "                         layout=Layout(width='30px', height='200px'),readout_format = '.0f',style=style,continuous_update=False)\n",
    "x6.style.handle_color = color[5]\n",
    "y6 = widgets.FloatSlider(min=0.0, max = 500.0, value = X2[5], step = 1.0, description = '$y_6$',orientation='vertical',\n",
    "                         layout=Layout(width='30px', height='200px'),readout_format = '.0f',style=style,continuous_update=False)\n",
    "y6.style.handle_color = color[5]\n",
    "\n",
    "x7 = widgets.FloatSlider(min=0.0, max = 500.0, value = X1[6], step = 1.0, description = '$x_7$',orientation='vertical',\n",
    "                         layout=Layout(width='30px', height='200px'),readout_format = '.0f',style=style,continuous_update=False)\n",
    "x7.style.handle_color = color[6]\n",
    "y7 = widgets.FloatSlider(min=0.0, max = 500.0, value = X2[6], step = 1.0, description = '$y_7$',orientation='vertical',\n",
    "                         layout=Layout(width='30px', height='200px'),readout_format = '.0f',style=style,continuous_update=False)\n",
    "y7.style.handle_color = color[6]\n",
    "\n",
    "x8 = widgets.FloatSlider(min=0.0, max = 500.0, value = X1[7], step = 1.0, description = '$x_8$',orientation='vertical',\n",
    "                         layout=Layout(width='30px', height='200px'),readout_format = '.0f',style=style,continuous_update=False)\n",
    "x8.style.handle_color = color[7]\n",
    "y8 = widgets.FloatSlider(min=0.0, max = 500.0, value = X2[7], step = 1.0, description = '$y_8$',orientation='vertical',\n",
    "                         layout=Layout(width='30px', height='200px'),readout_format = '.0f',style=style,continuous_update=False)\n",
    "y8.style.handle_color = color[7]\n",
    "\n",
    "uipars = widgets.HBox([ncluster,radius,x1,y1,x2,y2,x3,y3,x4,y4,x5,y5,x6,y6,x7,y7,x8,y8],) \n",
    "uik = widgets.VBox([l,uipars],)\n",
    "\n",
    "def f_make_spectral(ncluster,radius,x1,y1,x2,y2,x3,y3,x4,y4,x5,y5,x6,y6,x7,y7,x8,y8):                       # function to take parameters, make sample and plot#\n",
    "#    text_trap = io.StringIO()\n",
    "#    sys.stdout = text_trap\n",
    "    cmap = plt.cm.get_cmap('Set2',8)\n",
    "    X1_local = [x1,x2,x3,x4,x5,x6,x7,x8]; X2_local = [y1,y2,y3,y4,y5,y6,y7,y8]\n",
    "    \n",
    "    n = len(X1)\n",
    "    adjacency = np.zeros([len(X1_local),len(X1_local)])   # declare the 2D matrices\n",
    "    degree = np.zeros([len(X1_local),len(X2_local)])\n",
    "\n",
    "    # populate the adjacency matrix\n",
    "    for j in range(0,len(X1_local)):\n",
    "        for i in range(0,len(X1_local)):\n",
    "            if i != j:\n",
    "                distance = math.sqrt((X1_local[i]-X1_local[j])*(X1_local[i]-X1_local[j]) + (X2_local[i]-X2_local[j])*(X2_local[i]-X2_local[j]))\n",
    "                if distance <= radius:\n",
    "                    adjacency[i,j] = 1; adjacency[j,i] = 1 \n",
    "    \n",
    "    # plot the adjacency matrix - optional\n",
    "    plt.subplot(433)  \n",
    "    plt.imshow(adjacency,cmap = plt.cm.binary); plt.grid(alpha = 0.2)\n",
    "    plt.xlim([-0.5,len(X1_local)-1+0.5]); plt.ylim([-0.5,len(X2_local)-1+0.5]);\n",
    "    plt.title('Adjacency Matrix'); plt.xlabel(r'Data Samples, $\\bf{u}_i$'); plt.ylabel(r'Data Samples, $\\bf{u}_j$');\n",
    "    plt.xticks(np.linspace(0,7,8),np.arange(1,9,1)); plt.yticks(np.linspace(0,7,8),np.arange(1,9,1))\n",
    "    plt.colorbar()\n",
    "    \n",
    "    # populate the degree matrix\n",
    "    for j in range(0,len(X1)):\n",
    "        summation = 0\n",
    "        for i in range(0,len(X1)):\n",
    "            summation = summation + adjacency[i,j]\n",
    "        degree[j,j] = summation\n",
    "        \n",
    "    # calculate the Laplacian matrix\n",
    "    Laplace = degree - adjacency\n",
    "    \n",
    "    # plot the Laplacian matrix - optional\n",
    "    plt.subplot(434)  \n",
    "    plt.imshow(Laplace,cmap = plt.cm.inferno); plt.grid(alpha = 0.2)\n",
    "    plt.xlim([-0.5,len(X1_local)-1+0.5]); plt.ylim([-0.5,len(X2_local)-1+0.5]);\n",
    "    plt.title('Graph Laplacian Matrix'); plt.xlabel(r'Data Samples, $\\bf{u}_i$'); plt.ylabel(r'Data Samples, $\\bf{u}_j$');\n",
    "    plt.xticks(np.linspace(0,7,8),np.arange(1,9,1)); plt.yticks(np.linspace(0,7,8),np.arange(1,9,1))\n",
    "    plt.colorbar()\n",
    "        \n",
    "    # plot the sample data graph\n",
    "    plt.subplot(431)\n",
    "    \n",
    "    for i in range(0,n):\n",
    "        plt.scatter(X1_local[i],X2_local[i],c = color[i],s=150,alpha = 0.5,edgecolors = 'black')\n",
    "    for idata in range(0,8):\n",
    "        plt.annotate(str(idata+1),(X1_local[idata]-5,X2_local[idata]-7))\n",
    "    for j in range(0,len(X1)):\n",
    "        for i in range(0,len(X1)):\n",
    "            if adjacency[i,j] == 1:\n",
    "                x1 = [X1_local[i],X1_local[j]]; x2 = [X2_local[i],X2_local[j]]\n",
    "                plt.plot(x1,x2,c = 'black',alpha = 0.2)\n",
    "    plt.xlim([0,500]); plt.ylim([0,500]); \n",
    "    plt.xlabel('$X$'); plt.ylabel('$Y$'); plt.title('Sample Data and Graph')\n",
    "    plt.subplots_adjust(left=0.0, bottom=0.0, right=2.0, top=2.0, wspace=0.2, hspace=0.3)        \n",
    "\n",
    "    # calculate the Eigen values and vectors and sort by Eigen value\n",
    "    vals, vecs = np.linalg.eig(Laplace)\n",
    "    vecs = vecs[:,np.argsort(vals)]\n",
    "    vals = vals[np.argsort(vals)]\n",
    "    \n",
    "    kmeans = KMeans(n_clusters=ncluster)             # instantiate k-means clusters\n",
    "    kmeans.fit(vecs[:,1:ncluster])                   # fit k-means clusters\n",
    "    clusters = kmeans.labels_    \n",
    "    \n",
    "#     print(vecs[:,2])\n",
    "#     print(vecs[:,3])\n",
    "#     print(vecs[:,4])\n",
    "    \n",
    "    # make a custom colormap\n",
    "    my_colormap = plt.cm.get_cmap('RdBu_r', 256)\n",
    "    newcolors = my_colormap(np.linspace(0, 1, 256))\n",
    "    white = np.array([256/256, 256/256, 256/256, 1])\n",
    "    newcolors[100:150, :] = white                          # mask all correlations less than abs(0.8)\n",
    "    custom_cmap = ListedColormap(newcolors)\n",
    "        \n",
    "    plt.subplot(435)  \n",
    "    plt.imshow(vecs,cmap = custom_cmap); plt.grid(alpha = 0.2)\n",
    "    #plt.xlim([-0.5,len(X1_local)-1+0.5]); plt.ylim([-0.5,len(X2_local)-1+0.5]);\n",
    "    plt.title('Eigen Vectors'); plt.xlabel('Eigen Vectors'); plt.ylabel(r'Data Samples, $\\bf{u}_i$');\n",
    "    plt.xticks(np.linspace(0,7,8),np.arange(1,9,1)); plt.yticks(np.linspace(0,7,8),np.arange(1,9,1))\n",
    "    for ix in range(0,7):\n",
    "        plt.plot([.50+float(ix),0.5+float(ix)],[-0.5,7.5],color = 'black')    \n",
    "    plt.colorbar()\n",
    "    \n",
    "    plt.subplot(436)  \n",
    "    plt.grid(alpha = 0.2); plt.plot(vals, c = 'red'); \n",
    "    #plt.xlim([-0.5,len(X1_local)-1+0.5]); plt.ylim([-0.5,len(X2_local)-1+0.5]);\n",
    "    plt.title('Eigen Values'); plt.xlabel('Eigen Vectors'); plt.ylabel('Eigen Values');\n",
    "    plt.xticks(np.linspace(0,7,8),np.arange(1,9,1));\n",
    "    plt.colorbar()    \n",
    "    \n",
    "    plt.subplot(437)    \n",
    "    plt.scatter(X1_local,X2_local,c = vecs[:,0],s = 60,alpha = 1.0,edgecolors = 'black',vmin = -1.0, vmax = 1.0, cmap = custom_cmap)\n",
    "    plt.xlim([0,500]); plt.ylim([0,500]); \n",
    "    plt.xlabel('$X$'); plt.ylabel('$Y$'); plt.title('Sample Data and First Eigen Vector')\n",
    "    cbar = plt.colorbar()\n",
    "    cbar.set_label('Eigen Vector #1', rotation=270, labelpad=20)\n",
    "    plt.subplots_adjust(left=0.0, bottom=0.0, right=2.0, top=1.5, wspace=0.2, hspace=0.3) \n",
    "    \n",
    "    plt.subplot(438)    \n",
    "    plt.scatter(X1_local,X2_local,c = vecs[:,1],s = 60,alpha = 1.0,edgecolors = 'black',vmin = -1.0, vmax = 1.0, cmap = custom_cmap)\n",
    "    plt.xlim([0,500]); plt.ylim([0,500]); \n",
    "    plt.xlabel('$X$'); plt.ylabel('$Y$'); plt.title('Sample Data and Second Eigen Vector')\n",
    "    cbar = plt.colorbar()\n",
    "    cbar.set_label('Eigen Vector #2', rotation=270, labelpad=20)\n",
    "    plt.subplots_adjust(left=0.0, bottom=0.0, right=2.0, top=1.5, wspace=0.2, hspace=0.3)  \n",
    "    \n",
    "    plt.subplot(439)    \n",
    "    plt.scatter(X1_local,X2_local,c = vecs[:,2],s = 60,alpha = 1.0,edgecolors = 'black',vmin = -1.0, vmax = 1.0, cmap = custom_cmap)\n",
    "    plt.xlim([0,500]); plt.ylim([0,500]); \n",
    "    plt.xlabel('$X$'); plt.ylabel('$Y$'); plt.title('Sample Data and Third Eigen Vector')\n",
    "    cbar = plt.colorbar()\n",
    "    cbar.set_label('Eigen Vector #3', rotation=270, labelpad=20)\n",
    "    plt.subplots_adjust(left=0.0, bottom=0.0, right=2.0, top=1.5, wspace=0.2, hspace=0.3)  \n",
    "    \n",
    "    plt.subplot(4,3,10)    \n",
    "    plt.scatter(X1_local,X2_local,c = vecs[:,3],s = 60,alpha = 1.0,edgecolors = 'black',vmin = -1.0, vmax = 1.0, cmap = custom_cmap)\n",
    "    plt.xlim([0,500]); plt.ylim([0,500]); \n",
    "    plt.xlabel('$X$'); plt.ylabel('$Y$'); plt.title('Sample Data and Fourth Eigen Vector')\n",
    "    cbar = plt.colorbar()\n",
    "    cbar.set_label('Eigen Vector #4', rotation=270, labelpad=20)\n",
    "    plt.subplots_adjust(left=0.0, bottom=0.0, right=2.0, top=1.5, wspace=0.2, hspace=0.3)  \n",
    "    \n",
    "#         plt.scatter(X1_local,X2_local,c = clusters+1,s = 150,alpha = 0.5,edgecolors = 'black',vmin = 1, vmax = 8, cmap = cmap)\n",
    "#     for idata in range(0,8):\n",
    "#         plt.annotate(str(clusters[idata]+1),(X1_local[idata]-9,X2_local[idata]-8))\n",
    "    \n",
    "    plt.subplot(4,3,11)    \n",
    "    plt.scatter(vecs[:,1],vecs[:,2],c = clusters+1,s = 150,alpha = 0.5,edgecolors = 'black',vmin = 1, vmax = 8, cmap = cmap)\n",
    "    for idata in range(0,8):\n",
    "        plt.annotate(str(idata+1),(vecs[idata,1]-.08,vecs[idata,2]-.08))\n",
    "    plt.xlim([-2.0,2.0]); plt.ylim([-2.0,2.0]); \n",
    "    plt.xlabel(r'$2^{nd}$ Eigen Vectors'); plt.ylabel(r'$3^{rd}$ Eigen Vectors'); plt.title(r'$3^{rd}$ Eigen Vector vs. $2^{nd}$ Eigen Vector')\n",
    "    cbar = plt.colorbar()\n",
    "    cbar.set_label('Cluster Index', rotation=270, labelpad=20)\n",
    "    plt.subplots_adjust(left=0.0, bottom=0.0, right=2.0, top=1.5, wspace=0.2, hspace=0.3) \n",
    "    \n",
    "    plt.subplot(4,3,12)    \n",
    "    plt.scatter(vecs[:,3],vecs[:,4],c = clusters+1,s = 150,alpha = 0.5,edgecolors = 'black',vmin = 1, vmax = 8, cmap = cmap)\n",
    "    for idata in range(0,8):\n",
    "        plt.annotate(str(idata+1),(vecs[idata,3]-.08,vecs[idata,4]-.08))\n",
    "    plt.xlim([-2.0,2.0]); plt.ylim([-2.0,2.0]); \n",
    "    plt.xlabel(r'$3^{rd}$ Eigen Vectors'); plt.ylabel(r'$4^{th}$ Eigen Vectors'); plt.title(r'$4^{th}$ Eigen Vector vs. $3^{rd}$ Eigen Vector')\n",
    "    cbar = plt.colorbar()\n",
    "    cbar.set_label('Cluster Index', rotation=270, labelpad=20)\n",
    "    plt.subplots_adjust(left=0.0, bottom=0.0, right=2.0, top=1.5, wspace=0.2, hspace=0.3) \n",
    "    \n",
    "    # plot the sample data graph with 2nd Eigen vector\n",
    "    plt.subplot(432)\n",
    "#     for j in range(0,len(X1_local)):                 # plot vertices\n",
    "#         for i in range(0,len(X1_local)):\n",
    "#             if adjacency[i,j] == 1:\n",
    "#                 x1 = [X1_local[i],X1_local[j]]; x2 = [X2_local[i],X2_local[j]]\n",
    "#                 plt.plot(x1,x2,c = 'red',alpha = 0.2)  \n",
    "\n",
    "    plt.scatter(X1_local,X2_local,c = clusters+1,s = 150,alpha = 0.5,edgecolors = 'black',vmin = 1, vmax = 8, cmap = cmap)\n",
    "    for idata in range(0,8):\n",
    "        plt.annotate(str(clusters[idata]+1),(X1_local[idata]-9,X2_local[idata]-8))\n",
    "\n",
    "#     plt.scatter(X1_local,X2_local,c = clusters,s = 60,alpha = 1.0,edgecolors = 'black',vmin = 0, vmax = 8, cmap = plt.cm.Dark2)\n",
    "    plt.xlim([0,500]); plt.ylim([0,500]); \n",
    "    plt.xlabel('$X$'); plt.ylabel('$Y$'); plt.title('Sample Data Graph and Assigned Clusters')\n",
    "    cbar = plt.colorbar()\n",
    "    cbar.set_label('Cluster Index', rotation=270, labelpad=20)\n",
    "    plt.subplots_adjust(left=0.0, bottom=0.0, right=2.0, top=3.5, wspace=0.5, hspace=0.3)  \n",
    "\n",
    "# connect the function to make the samples and plot to the widgets    \n",
    "interactive_plot2 = widgets.interactive_output(f_make_spectral, {'ncluster':ncluster, 'radius':radius, \n",
    "                                                      'x1':x1, 'y1':y1, 'x2':x2, 'y2':y2, 'x3':x3, 'y3':y3,\n",
    "                                                      'x4':x4, 'y4':y4, 'x5':x5, 'y5':y5, 'x6':x6, 'y6':y6,\n",
    "                                                      'x7':x7, 'y7':y7, 'x8':x8, 'y8':y8})\n",
    "interactive_plot2.clear_output(wait = True)               # reduce flickering by delaying plot updating"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Interactive Spectral Clustering Demostration, All Steps Shown\n",
    "\n",
    "* select the number of clusters and the data graph (locations and connections by radius)\n",
    "\n",
    "#### Michael Pyrcz, Associate Professor, University of Texas at Austin \n",
    "\n",
    "##### [Twitter](https://twitter.com/geostatsguy) | [GitHub](https://github.com/GeostatsGuy) | [Website](http://michaelpyrcz.com) | [GoogleScholar](https://scholar.google.com/citations?user=QVZ20eQAAAAJ&hl=en&oi=ao) | [Book](https://www.amazon.com/Geostatistical-Reservoir-Modeling-Michael-Pyrcz/dp/0199731446) | [YouTube](https://www.youtube.com/channel/UCLqEr-xV-ceHdXXXrTId5ig)  | [LinkedIn](https://www.linkedin.com/in/michael-pyrcz-61a648a1) | [GeostatsPy](https://github.com/GeostatsGuy/GeostatsPy)\n",
    "\n",
    "### The Inputs\n",
    "\n",
    "Select the variogram model and the data locations:\n",
    "\n",
    "* **nclusters**: the number of clusters\n",
    "\n",
    "* **radius**: maximum distance in feature space to form a connection\n",
    "\n",
    "* **$x_i$,$y_i$**: sample data locations in feature space"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "b1b0f90da224497a91c5852849740322",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "VBox(children=(Text(value='                                              Spectral Clustering, Michael Pyrcz, A…"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "e15b16e5c8c84970871de50473d89f80",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Output()"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "display(uik, interactive_plot2)                            # display the interactive plot"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### UNDER CONSTRUCTION"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [],
   "source": [
    "import warnings; warnings.simplefilter('ignore')\n",
    "\n",
    "color = ['blue','red','green','yellow','orange','white','magenta','cyan']\n",
    "\n",
    "style = {'description_width': 'initial'}\n",
    "l = widgets.Text(value='                                              Spectral Clustering, Michael Pyrcz, Associate Professor, The University of Texas at Austin',layout=Layout(width='950px', height='30px'))\n",
    "\n",
    "radius = widgets.FloatSlider(min=0.0, max = 1000.0, value = 200.0, step = 10.0, description = 'radius',\n",
    "                        orientation='vertical',layout=Layout(width='100px', height='200px'),continuous_update=False)\n",
    "radius.style.handle_color = 'gray'\n",
    "   \n",
    "x1 = widgets.FloatSlider(min=0.0, max = 500.0, value = X1[0], step = 1.0, description = '$x_1$',orientation='vertical',\n",
    "                         layout=Layout(width='30px', height='200px'),readout_format = '.0f',style=style,continuous_update=False)\n",
    "x1.style.handle_color = color[0]\n",
    "y1 = widgets.FloatSlider(min=0.0, max = 500.0, value = X2[0], step = 1.0, description = '$y_1$',orientation='vertical',\n",
    "                         layout=Layout(width='30px', height='200px'),readout_format = '.0f',style=style,continuous_update=False)\n",
    "y1.style.handle_color = color[0]\n",
    "\n",
    "x2 = widgets.FloatSlider(min=0.0, max = 500.0, value = X1[1], step = 1.0, description = '$x_2$',orientation='vertical',\n",
    "                         layout=Layout(width='30px', height='200px'),readout_format = '.0f',style=style,continuous_update=False)\n",
    "x2.style.handle_color = color[1]\n",
    "y2 = widgets.FloatSlider(min=0.0, max = 500.0, value = X2[1], step = 1.0, description = '$y_2$',orientation='vertical',\n",
    "                         layout=Layout(width='30px', height='200px'),readout_format = '.0f',style=style,continuous_update=False)\n",
    "y2.style.handle_color = color[1]\n",
    "\n",
    "x3 = widgets.FloatSlider(min=0.0, max = 500.0, value = X1[2], step = 1.0, description = '$x_3$',orientation='vertical',\n",
    "                         layout=Layout(width='30px', height='200px'),readout_format = '.0f',style=style,continuous_update=False)\n",
    "x3.style.handle_color = color[2]\n",
    "y3 = widgets.FloatSlider(min=0.0, max = 500.0, value = X2[2], step = 1.0, description = '$y_3$',orientation='vertical',\n",
    "                         layout=Layout(width='30px', height='200px'),readout_format = '.0f',style=style,continuous_update=False)\n",
    "y3.style.handle_color = color[2]\n",
    "\n",
    "x4 = widgets.FloatSlider(min=0.0, max = 500.0, value = X1[3], step = 1.0, description = '$x_4$',orientation='vertical',\n",
    "                         layout=Layout(width='30px', height='200px'),readout_format = '.0f',style=style,continuous_update=False)\n",
    "x4.style.handle_color = color[3]\n",
    "y4 = widgets.FloatSlider(min=0.0, max = 500.0, value = X2[3], step = 1.0, description = '$y_4$',orientation='vertical',\n",
    "                         layout=Layout(width='30px', height='200px'),readout_format = '.0f',style=style,continuous_update=False)\n",
    "y4.style.handle_color = color[3]\n",
    "\n",
    "x5 = widgets.FloatSlider(min=0.0, max = 500.0, value = X1[4], step = 1.0, description = '$x_5$',orientation='vertical',\n",
    "                         layout=Layout(width='30px', height='200px'),readout_format = '.0f',style=style,continuous_update=False)\n",
    "x5.style.handle_color = color[4]\n",
    "y5 = widgets.FloatSlider(min=0.0, max = 500.0, value = X2[4], step = 1.0, description = '$y_5$',orientation='vertical',\n",
    "                         layout=Layout(width='30px', height='200px'),readout_format = '.0f',style=style,continuous_update=False)\n",
    "y5.style.handle_color = color[4]\n",
    "\n",
    "x6 = widgets.FloatSlider(min=0.0, max = 500.0, value = X1[5], step = 1.0, description = '$x_6$',orientation='vertical',\n",
    "                         layout=Layout(width='30px', height='200px'),readout_format = '.0f',style=style,continuous_update=False)\n",
    "x6.style.handle_color = color[5]\n",
    "y6 = widgets.FloatSlider(min=0.0, max = 500.0, value = X2[5], step = 1.0, description = '$y_6$',orientation='vertical',\n",
    "                         layout=Layout(width='30px', height='200px'),readout_format = '.0f',style=style,continuous_update=False)\n",
    "y6.style.handle_color = color[5]\n",
    "\n",
    "x7 = widgets.FloatSlider(min=0.0, max = 500.0, value = X1[6], step = 1.0, description = '$x_7$',orientation='vertical',\n",
    "                         layout=Layout(width='30px', height='200px'),readout_format = '.0f',style=style,continuous_update=False)\n",
    "x7.style.handle_color = color[6]\n",
    "y7 = widgets.FloatSlider(min=0.0, max = 500.0, value = X2[6], step = 1.0, description = '$y_7$',orientation='vertical',\n",
    "                         layout=Layout(width='30px', height='200px'),readout_format = '.0f',style=style,continuous_update=False)\n",
    "y7.style.handle_color = color[6]\n",
    "\n",
    "x8 = widgets.FloatSlider(min=0.0, max = 500.0, value = X1[7], step = 1.0, description = '$x_8$',orientation='vertical',\n",
    "                         layout=Layout(width='30px', height='200px'),readout_format = '.0f',style=style,continuous_update=False)\n",
    "x8.style.handle_color = color[7]\n",
    "y8 = widgets.FloatSlider(min=0.0, max = 500.0, value = X2[7], step = 1.0, description = '$y_8$',orientation='vertical',\n",
    "                         layout=Layout(width='30px', height='200px'),readout_format = '.0f',style=style,continuous_update=False)\n",
    "y8.style.handle_color = color[7]\n",
    "\n",
    "uipars = widgets.HBox([radius,x1,y1,x2,y2,x3,y3,x4,y4,x5,y5,x6,y6,x7,y7,x8,y8],) \n",
    "uik = widgets.VBox([l,uipars],)\n",
    "\n",
    "def f_make_spectral(radius,x1,y1,x2,y2,x3,y3,x4,y4,x5,y5,x6,y6,x7,y7,x8,y8):                       # function to take parameters, make sample and plot#\n",
    "#    text_trap = io.StringIO()\n",
    "#    sys.stdout = text_trap\n",
    "    ncluster = 3\n",
    "    cmap1 = plt.cm.get_cmap('Set2',8)\n",
    "    cmap2 = plt.cm.get_cmap('Set1',ncluster+5)\n",
    "    X1_local = [x1,x2,x3,x4,x5,x6,x7,x8]; X2_local = [y1,y2,y3,y4,y5,y6,y7,y8]\n",
    "    \n",
    "    n = len(X1)\n",
    "    adjacency = np.zeros([len(X1_local),len(X1_local)])   # declare the 2D matrices\n",
    "    degree = np.zeros([len(X1_local),len(X2_local)])\n",
    "\n",
    "    # populate the adjacency matrix\n",
    "    for j in range(0,len(X1_local)):\n",
    "        for i in range(0,len(X1_local)):\n",
    "            if i != j:\n",
    "                distance = math.sqrt((X1_local[i]-X1_local[j])*(X1_local[i]-X1_local[j]) + (X2_local[i]-X2_local[j])*(X2_local[i]-X2_local[j]))\n",
    "                if distance <= radius:\n",
    "                    adjacency[i,j] = 1; adjacency[j,i] = 1 \n",
    "    \n",
    "    # populate the degree matrix\n",
    "    for j in range(0,len(X1)):\n",
    "        summation = 0\n",
    "        for i in range(0,len(X1)):\n",
    "            summation = summation + adjacency[i,j]\n",
    "        degree[j,j] = summation\n",
    "        \n",
    "    # calculate the Laplacian matrix\n",
    "    Laplace = degree - adjacency\n",
    "    \n",
    "    # calculate the Eigen values and vectors and sort by Eigen value\n",
    "    vals, vecs = np.linalg.eig(Laplace)\n",
    "    vecs = vecs[:,np.argsort(vals)]\n",
    "    vals = vals[np.argsort(vals)]\n",
    "    \n",
    "    kmeans = KMeans(n_clusters=ncluster)             # instantiate k-means clusters\n",
    "    kmeans.fit(vecs[:,1:ncluster])                   # fit k-means clusters\n",
    "    clusters = kmeans.labels_    \n",
    "        \n",
    "    # plot the sample data graph\n",
    "    plt.subplot(121)\n",
    "    for i in range(0,n):\n",
    "        plt.scatter(X1_local[i],X2_local[i],c = i+1,s=300,alpha = 1.0,edgecolors = 'black',vmin = 0.5, vmax = 8.5,cmap = cmap1,zorder=10)\n",
    "    for idata in range(0,8):\n",
    "        plt.annotate(str(idata+1),(X1_local[idata]-4,X2_local[idata]-5),zorder=20)\n",
    "    for j in range(0,len(X1)):\n",
    "        for i in range(0,len(X1)):\n",
    "            if adjacency[i,j] == 1:\n",
    "                x1 = [X1_local[i],X1_local[j]]; x2 = [X2_local[i],X2_local[j]]\n",
    "                plt.plot(x1,x2,c = 'black',alpha = 0.8,zorder=1)\n",
    "    \n",
    "    plt.scatter(X1_local,X2_local,c = clusters+1,s = 800,alpha = 1.0,edgecolors = 'black',vmin = 0.5, vmax = ncluster+0.5, cmap = cmap2,zorder=8)\n",
    " \n",
    "    plt.xlim([0,500]); plt.ylim([0,500]);\n",
    "    plt.xlabel('$X_1$'); plt.ylabel('$X_2$'); plt.title('Sample Data, Graph, and Spectral Cluster Assignments')\n",
    "    plt.gca().grid(which='minor', color='#EEEEEE', linestyle=':', linewidth=0.5)\n",
    "    plt.gca().grid(which='major', color='#DDDDDD', linewidth=0.8); plt.gca().minorticks_on()\n",
    "    \n",
    "#     cbar = plt.colorbar()\n",
    "#     cbar.set_label('Sample Index', rotation=270, labelpad=20)      \n",
    "\n",
    "    plt.subplot(122) \n",
    "    for i in range(0,n):\n",
    "        plt.scatter(vecs[:,1],vecs[:,2],c = np.arange(1,9,1),s = 300,alpha = 1.0,edgecolors = 'black',vmin = 0.5, vmax = 8.5, cmap = cmap1,zorder=10)\n",
    "    plt.scatter(vecs[:,1],vecs[:,2],c = clusters+1,s = 800,alpha = 1.0,edgecolors = 'black',vmin = 0.5, vmax = ncluster+0.5, cmap = cmap2,zorder=8)\n",
    "   \n",
    "\n",
    "    for idata in range(0,8):\n",
    "        plt.annotate(str(idata+1),(vecs[idata,1]-.04,vecs[idata,2]-.04),zorder=30)\n",
    "    plt.xlim([-2.0,2.0]); plt.ylim([-2.0,2.0]); \n",
    "    plt.xlabel(r'$2^{nd}$ Eigen Vectors Loadings'); plt.ylabel(r'$3^{rd}$ Eigen Vector Loadings'); plt.title(r'$3^{rd}$ Eigen Vector Loadings vs. $2^{nd}$ Eigen Vector Loadings')\n",
    "    plt.gca().grid(which='minor', color='#EEEEEE', linestyle=':', linewidth=0.5)\n",
    "    plt.gca().grid(which='major', color='#DDDDDD', linewidth=0.8); plt.gca().minorticks_on()\n",
    "    \n",
    "    plt.subplots_adjust(left=0.0, bottom=0.0, right=2.0, top=1.2, wspace=0.2, hspace=0.2)  \n",
    "\n",
    "# connect the function to make the samples and plot to the widgets    \n",
    "interactive_plot2 = widgets.interactive_output(f_make_spectral, {'radius':radius, \n",
    "                                                      'x1':x1, 'y1':y1, 'x2':x2, 'y2':y2, 'x3':x3, 'y3':y3,\n",
    "                                                      'x4':x4, 'y4':y4, 'x5':x5, 'y5':y5, 'x6':x6, 'y6':y6,\n",
    "                                                      'x7':x7, 'y7':y7, 'x8':x8, 'y8':y8})\n",
    "interactive_plot2.clear_output(wait = True)               # reduce flickering by delaying plot updating"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {
    "scrolled": false
   },
   "outputs": [
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "ac9746c7ee2041cbbe1017fef4bf7513",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "VBox(children=(Text(value='                                              Spectral Clustering, Michael Pyrcz, A…"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "f350e4d8d7ba4aa49e1c7f85ff44e346",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Output(outputs=({'output_type': 'display_data', 'data': {'text/plain': '<Figure size 640x480 with 2 Axes>', 'i…"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "display(uik, interactive_plot2)                            # display the interactive plot"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Some observations from these spectral cluster assignments:\n",
    "\n",
    "* as expected the method is able to devide the sample data into a specified number of clusters\n",
    "\n",
    "* the cluster group index is arbitrary and will switch as you move the data\n",
    "\n",
    "Things to try:\n",
    "\n",
    "* make a chain of all the data (i.e. sample 1 connected to sample 2 connected to sample 3 and so on)\n",
    "\n",
    "* make no connections\n",
    "\n",
    "* make a ring of data\n",
    "\n",
    "* make connected clusters\n",
    "\n",
    "#### Comments\n",
    "\n",
    "I hope you found this tutorial useful. I'm always happy to discuss data analytics, geostatistics, statistical modeling, uncertainty modeling and machine learning,\n",
    "\n",
    "I have other demonstrations on the basics of working with DataFrames, ndarrays, univariate statistics, plotting data, declustering, data transformations, trend modeling and many other workflows available at https://github.com/GeostatsGuy/PythonNumericalDemos and https://github.com/GeostatsGuy/GeostatsPy. \n",
    "  \n",
    "I hope this was helpful,\n",
    "\n",
    "*Michael*\n",
    "\n",
    "#### The Author:\n",
    "\n",
    "### Michael Pyrcz, Associate Professor, University of Texas at Austin \n",
    "*Novel Data Analytics, Geostatistics and Machine Learning Subsurface Solutions*\n",
    "\n",
    "With over 17 years of experience in subsurface consulting, research and development, Michael has returned to academia driven by his passion for teaching and enthusiasm for enhancing engineers' and geoscientists' impact in subsurface resource development. \n",
    "\n",
    "For more about Michael check out these links:\n",
    "\n",
    "#### [Twitter](https://twitter.com/geostatsguy) | [GitHub](https://github.com/GeostatsGuy) | [Website](http://michaelpyrcz.com) | [GoogleScholar](https://scholar.google.com/citations?user=QVZ20eQAAAAJ&hl=en&oi=ao) | [Book](https://www.amazon.com/Geostatistical-Reservoir-Modeling-Michael-Pyrcz/dp/0199731446) | [YouTube](https://www.youtube.com/channel/UCLqEr-xV-ceHdXXXrTId5ig)  | [LinkedIn](https://www.linkedin.com/in/michael-pyrcz-61a648a1)\n",
    "\n",
    "#### Want to Work Together?\n",
    "\n",
    "I hope this content is helpful to those that want to learn more about subsurface modeling, data analytics and machine learning. Students and working professionals are welcome to participate.\n",
    "\n",
    "* Want to invite me to visit your company for training, mentoring, project review, workflow design and / or consulting? I'd be happy to drop by and work with you! \n",
    "\n",
    "* Interested in partnering, supporting my graduate student research or my Subsurface Data Analytics and Machine Learning consortium (co-PIs including Profs. Foster, Torres-Verdin and van Oort)? My research combines data analytics, stochastic modeling and machine learning theory with practice to develop novel methods and workflows to add value. We are solving challenging subsurface problems!\n",
    "\n",
    "* I can be reached at mpyrcz@austin.utexas.edu.\n",
    "\n",
    "I'm always happy to discuss,\n",
    "\n",
    "*Michael*\n",
    "\n",
    "Michael Pyrcz, Ph.D., P.Eng. Associate Professor The Hildebrand Department of Petroleum and Geosystems Engineering, Bureau of Economic Geology, The Jackson School of Geosciences, The University of Texas at Austin\n",
    "\n",
    "I have other demonstrations on the basics of working with DataFrames, ndarrays, univariate statistics, plotting data, declustering, data transformations, trend modeling and many other workflows available at https://github.com/GeostatsGuy/PythonNumericalDemos and https://github.com/GeostatsGuy/GeostatsPy. \n",
    "  \n",
    "I hope this was helpful,\n",
    "\n",
    "*Michael*\n",
    "\n",
    "Michael Pyrcz, Ph.D., P.Eng. Associate Professor The Hildebrand Department of Petroleum and Geosystems Engineering, Bureau of Economic Geology, The Jackson School of Geosciences, The University of Texas at Austin\n",
    "\n",
    "#### More Resources Available at: [Twitter](https://twitter.com/geostatsguy) | [GitHub](https://github.com/GeostatsGuy) | [Website](http://michaelpyrcz.com) | [GoogleScholar](https://scholar.google.com/citations?user=QVZ20eQAAAAJ&hl=en&oi=ao) | [Book](https://www.amazon.com/Geostatistical-Reservoir-Modeling-Michael-Pyrcz/dp/0199731446) | [YouTube](https://www.youtube.com/channel/UCLqEr-xV-ceHdXXXrTId5ig)  | [LinkedIn](https://www.linkedin.com/in/michael-pyrcz-61a648a1)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.11.4"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
